الرئيسيةالتسجيلدخول

شاطر | 
 

 3- المتغيرات , الثوابت و المعاملات

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
زائر الليل
ادارة IT CLUB
ادارة IT CLUB


ذكر
عدد الرسائل : 1022
العمر : 29
تاريخ التسجيل : 20/10/2007

مُساهمةموضوع: 3- المتغيرات , الثوابت و المعاملات   الجمعة مارس 27, 2009 10:05 pm

ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي....


بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • مراجعة الدرس الاول : اول برنامج PHP
  • اختيار محرر كتابة الاكواد المناسب


اهداف الدرس:

  • المتغيرات
  • انواع البيانات
  • الثوابت
  • المعاملات
  • ترتيب الاهميات







المتغيرات :

[ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي:
$name = "احمد";


لكن يجب عليك الانتباه بأن اسماء المتغيرات في لغة PHP لها حدود, نعني بذلك انه يوجد اسماء واحرف غير مسموحه لتعريف المتغيرات, لنقوم بتسهيل الامر سنذكر المسموح منها وهو ( احرف ) و ( ارقام ) و ( _ ) فقط.
مثال على الاحرف : ( $name ) , مثال على الارقام : ( $223 ) , مثال على _ : ( $_name ) , ارأيت سهولة ذلك ؟ ولكن يفضل ان تكون الاسماء معبره لكي يسهل عليك كتابة البرنامج ويسهل على الغير فهم محتواه , فلو اردت ان تعرف متغير يحوي البريد الالكتروني فسوف يكون كالتالي ( $email ) او ( $user_email ) وليس من المنطقي ان يكون ( $2235 ) او ( $mobile ) على سبيل المثال. وتذكر ان يمكنك استخدام اي عدد من الحروف التي تريد , فهي ليست محدده


لو اردنا ان نقوم بتعريف متغير به القيمه 1 ومتغير اخر به القيمه 2 ماذا سوف نفعل ؟ سوف نقوم بتعريف المتغير الاول ( $number1 = 1; ) والمتغير الثاني ( $number2 = 2; ) , ماذا لو اردنا طباعته الى المتصفح , بكل بساطه نقوم بعمل التالي: ( print $number1; ) و ( print $number2; ) , لم تقتنع ؟ لم توضح الصوره ؟ مللت من الكلام ؟ لنقم بتسخين ايدينا قليلا وقم بفتح محرر الاكواد اليك وقم بكتابة الكود التالي :



عند تنفيذ هذا الكود سوف يكون لدينا الناتج التالي :



اذن في المتغير number1 قمنا بوضع القيمه 1 وفي المتغير number2 قمنا بوضع القيمه 2 ( بإستخدام العلامه = ) وقمنا بطباعة المتغيرات, فرأينا محتوى المتغيرات. اذن كأننا قلنا ( print 1; ) اليس كذلك ؟ لاحظ هنا ان السطور البرمجيه تنفذ سطرا سطرا , نعني بذلك اننا سنقوم بتنفيذ السطر رقم 3 ثم نقوم بتنفيذ السطر رقم 4. لكن قد تتسائل , فقط نستطيع ان نقوم بوضع قيم ؟ هل يمكن ان نضع متغير في متغير ؟ نعم يمكن ذلك بهذه الطريقه ( $number2 = $number1; ) ارأيت السهوله والبساطه في الموضوع ؟ وسوف يقوم بطباعة الرقم 1 . قلنا قبل قليل ان التنفيذ يكون سطرا سطرا اليس كذلك ؟ لنرى مثالا على ذلك , اكتب في محرر الاكواد التالي :



قم بتجربة الملف ولاحظ الناتج , اذن لان الاوامر تنفذ سطرا سطرا لم يقم المترجم بطباعة القيمه 2 , لان اخر قيمة اسندت الى المتغير ( $number 2 ) هي قيمة المتغير ( $number1 ) , اعتقد ان الامر قد اتضح الان , لا تنسى ان اسماء المتغيرات حساسه لحالة الاحرف فالمتغير ( $number ) لا يساوي المتغير ( $Number ) .

انواع البيانات:

هل لاحظت في الامثله السابقه اننا قمنا بطباعة ارقام ونصوص, اليس كذلك ؟ ولكن ماهي انواع البيانات الي تأخذها المتغيرات وانواعها ؟ لدينا عدة انواع من المتغيرات الا وهي : ( نصوص = string ) , ( ارقام = integer ) , ( ارقام عشريه = Double ) , ( المتغير Boolean ) , ( مصفوفه = array ) , ( كائن = object ) , في بداية تعلمنا سوف نقوم بالتعرف على النصوص والارقم العشرية والمتغير Boolean , اما الاخري فسوف تكون في دروس متقدمه اخرى , لنأخذ امثله على هذه المتغيرات




لاحظ اننا عندما نريد طباعة نص يجب ان نقوم بوضعه بين علامتي التنصيص " " او ' ' اي واحد منهما تقوم بإختياره , ولكن اذا بدأت بواحد منهم يجب ان ينتهي النص بنفسه فلا يصح ان نقول ( "mohammad' ) ولكن الصحيح ( "mohammad" ) او ( 'mohammad' ) وضحت الصوره ؟
معلومه خارجيه : تسمى لغة PHP اللغه المسامحه ولذلك انك عند وضع القيمه داخل المتغير لا تحتاج ان تقوم بتحديد النوع , فإن المترجم يقوم بعرفة النوع من تلقاء نفسه , ماعليك فعله فقط ان تقوم بوضع علامة $ قبل اسم المتغير.


تخيل انك تريد معرفة نوع قيمة موجوده في متغير , ماذا يجب عليك ان تفعل , امر بسيط جدا وهو ان تقوم بإستخدام الداله gettype($var); وسوف تقوم هذه الداله بطباعة نوع المتغير الموجود لديك , لنأخذ امثله على ذلك , افتح محرر الاكواد وقم بكتابة التالي



وسوف يكون الناتج كما يلي :



لاحظ ان المتغير $test نوعه NULL وذلك لاننا لم نقم بتعيين اي قيمه له , ومعنى NULL هو فراغ او لا شيء

ماذا لو اردنا تغيير قيمة متغير من نوع الى اخر , من integer الى string فمالذي نفعله ؟ نقوم بإستخدام الداله settype($var , new type ) لكي تقوم بالعمل المطلوب , لنأخذ مثالا لتوضيح الصوره



والناتج هو :



والبقية نفس المنوال , فقط قم بوضع المتغير , ثم ضع النوع المراد التحويل اليه

هناك طريقة اخرى لتغيير نوع المتغير وتسمى ( Casting ) وهي بالطريقة التاليه :



قم بكتابة الكود وسوف ترى ان النتيجه نفسها نتيجة عمل settype( $var , new type ) والاختلاف الوحيد ان طريقة ( Casting ) لا تقوم بتغيير نوع المتغير الاساسي او فعليا , ولكن تقوم بوضع نسخه من المتغير وتقوم بتغييرها الى النوع المراد , ولكن على عكس الاخرى فهي تقوم بتغير النوع فعليا

هناك شي اخر وهو لو اردنا جمع متغيرين مع بعضهما البعض في سطر واحد , فسوف نقوم بإستخدام ( . ) , لم توضح الصوره وانا متأكد , لنأخذ مثال يبين لنا المعنى , افتح محرر الاكواد مجددا وقم بكتابة التالي :



والناتج هو التالي:





الثوابــــت:

رأيت في السابق اننا نقوم بإنشاء متغيرات ونقوم بتغيير انواعها والكثير من الامور ولكن يوجد لدينا الثوابت , ماهي الثوابت ؟ من الاسم يمكنك ان تستنج انه متغير ثابت ولا يتغير ابدا مهما حصل , قد تتسائل لماذا نحتاج الى هذه النوع من المتغيرات , والاجابه هي , تخيل ان لدينا اسعار بعض من منتجاتنا , وهذه الاسعار ثابته ولا تتغير ؟ فسوف نقوم بوضعها في الثوابت بالطريقه التاليه define( 'var' , value ) هل وضحت الصوره ؟؟ لنأخذها بالعربيه define('اسم المتغير' , القيمه ) , هل عرفت الان الطريقة ؟ لنقم ببعض الامثله ,تخيل انه لدينا مطعم ونبيع الببسي بثلاث انواع , صغير وقيمته ريال واحد , وسط وقيمته ريالان , كبير وقيمته 3 ريالات , قم بكتابة التالي ,



والناتج هو التالي :



الفرق بين المتغيرات والثوابت , هي انه عندما نريد ان نقوم بطباعة الثابت او استخدامه لا نقوم بوضع علامة $ في الثابت ابدا , وايضا من الاسماء الممنوع استخدامها في متغيرات لغة PHP الثوابت المعرفة في نفس اللغه , وهي ثابته ولا تتغير ولمشاهدتها قم بكتابة التالي في محرر الاكواد



وقم بتشغيل الملف وشاهد النتيجه Smile . (( سوف تظهر لك صفحه يوجد بها اعدادات هذه اللغه , لا تهتم لها الان فقط انظر الى الثوابت Variables ))



المعامــلات:

لدينا ثلاث انواع من المعاملات في لغة PHP وهي المعاملات الحسابيه , معاملات المقارنه , المعاملات المنطقيه وسوف نتكلم عنها بالتفصيل

المعاملات الحسابيه

المعاملات الحسابيه الاعتياديه



معاملات حسابيه اخرى :




شيء مخيف اليس كذلك ؟ بالعكس انه سهل جدا , كأنك تقوم بتعلم الرياضيات للمرحله الاولى , لنقم بكتابة بعض الاكواد وسوف ترى كيفية سهولة الامر , افتح محر الاكواد ولنقم بعمل بعض من تمارين العمليات الحسابيه الاعتياديه :



ارأيت سهولة الامر ؟ فقط عليك ان تقوم بذكر رموز العمليات وسوف يكون لديك الناتج , لنقم الان ببعض تمارين المعاملات الحسابيه الاخرى , قم بكتابة التالي :



لاحظ اننا هنا قمنا بتغيير قمية محتوى المتغير الاساسية , وليس مؤقتا , قم بتجربة العمليات الاخرى , حتى ولو كانت هناك بعض الاخطاء , قم بالتكرار ومحاولة معرفة الخطأ وسوف تفهم جميع الاكواد السابقه.

سوف نقوم الان بذكر معاملات المقارنه والمعاملات المنطقيه ولكن لن نقوم بعمل اي تمارين عليها , وذلك لانها سوف تستعمل في الدرس القادم

معاملات المقارنـــــه :




المعاملات المنطقية :







قد تتسائل لماذا يوجد لكل نوع اثنان من الاشكال ؟ والجواب سوف يكون في القسم التالي وهو ترتيب الاهميات



ترتيب الاهميــــات:

عند استخدام المعاملات يقوم المترجم بالقراء من اليمين الى اليسار في الحالات العاديه وعند استخدام معامل واحد , ولكن تخيل لدينا اكثر من معامل في سطر برمجي واحد ؟ هنا يقوم المترجم بالاختيار حسب الاهميه , لنأخذ مثال على ذلك , تخيل ان لديك العمليه التاليه :


4 + 5 فماهو الناتج ؟؟؟ الناتج واضح وليس به اي غموض وهو 9
ولكن تخيل لو لديك العمليه التاليه 4 + 5 * 2 ؟؟؟ فما هو ناتج العمليه الحسابيه ؟ الجواب هو 14 , لان المترجم قرأ عملية الضرب اولا ثم عملية الجمع , ويمكن ان تقوم بإجبار المترجم على قراء عملية الجمع اولا بإستخدام الاقواس , مثال : ( 4 + 5 ) * 2 وسوف يكون الناتج 18 , في الجدول التالي سوف تقوم بمعرفة الاهميات وترتيبها وماهي المعاملات التي تنفذ قبل الاخرى ( من الاعلى الى الاسفل )








لا تتعجل بالحكم على ان اللغه صعبه , يمكن ان لا اكون قد وضحت فكرة الشرح بشكل جيد , او لم يكن القائي جيدا , ولكن اعدك في الدرس القادم انك سوف تعرف معنى هذه المتغيرات وكيفية استعاملها , ومع الدرس القادم , تبدأ به متعة لغة PHP



اسئـــلة على الدرس :



  1. اي من اسماء المتغيرات التاليه غير مسموح في لغة PHP :



$name

$22name65

$first name

$last-name

$______________ARCCN____________

2. ماهو ناتج العمليات التاليه :

4+5+6*(2*4)


2+9*8

3. قم بإنشاء متغير من نوع ( integer ) وقم بتحويله الى كل الانواع التي مرت عليك , مره بإستخدام الداله settype ومره بإستخدام ( Casting ) ولاحظ الفرق بينهما



الـــدرس الــقادم :

سوف نقوم في الدرس القادم بالتعلم على الشروط في لغة PHP بالتفصيل , انواعها وطريقة كتابتها , واستعمالها مع المعاملات المنطقيه و معاملات المقارنه

_________________


الرجوع الى أعلى الصفحة اذهب الى الأسفل
golden flower
مشرفة
مشرفة


انثى
عدد الرسائل : 2517
العمر : 28
تاريخ التسجيل : 28/04/2008

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت مارس 28, 2009 4:01 am


جميل جدا

شكرا ليك يا زائر

_________________
http://gflower.computality.com/
الرجوع الى أعلى الصفحة اذهب الى الأسفل
زائر الليل
ادارة IT CLUB
ادارة IT CLUB


ذكر
عدد الرسائل : 1022
العمر : 29
تاريخ التسجيل : 20/10/2007

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت مارس 28, 2009 5:17 am

ربنا يكرمك يا جولدن

انتى متابعة فعلا الدروس؟؟؟

وهل فيها استفاده ؟؟؟

ومواعيد نزولها ايه رأيك نخليها تلات ايام في الاسبوع ولا يومين ولا ايه رأيك

_________________


الرجوع الى أعلى الصفحة اذهب الى الأسفل
golden flower
مشرفة
مشرفة


انثى
عدد الرسائل : 2517
العمر : 28
تاريخ التسجيل : 28/04/2008

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت مارس 28, 2009 6:00 am


انا في الحقيقه طبقت الدروس دي

وطبقت دروس اخرى كثيره من الكتب

وياريت الدروس تكون 3 في الاسبوع عشان الناس تنجز

وشكرا ليك يا زائر

_________________
http://gflower.computality.com/
الرجوع الى أعلى الصفحة اذهب الى الأسفل
زائر الليل
ادارة IT CLUB
ادارة IT CLUB


ذكر
عدد الرسائل : 1022
العمر : 29
تاريخ التسجيل : 20/10/2007

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت مارس 28, 2009 6:43 am

تمام جدا ان شاء الله تبقى تلاته

السبت والاثنين والخميس

ونبدأ من بكرة السبت

اضافة الدرس الرابع

_________________


الرجوع الى أعلى الصفحة اذهب الى الأسفل
تولين
عضو ملكي
عضو ملكي


انثى
عدد الرسائل : 1094
العمر : 27
تاريخ التسجيل : 19/12/2008

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت مارس 28, 2009 8:31 am

موضوع جميل ومجهود اروع

بس عندى ممكن كذا سوال؟؟
1-اية الفرق بين $وobject؟
$ number
object number
2_مثال دروس الالسن
المتغيرwholeمن نوع استرنج لان فرست نام وسكند نام استرنج اذا لازم قيمة الجمع بين""
3_قم بكتابة الكود وسوف ترى ان النتيجه نفسها نتيجة عمل settype( $var , new type ) والاختلاف الوحيد ان طريقة ( Casting ) لا تقوم بتغيير نوع المتغير الاساسي او فعليا , ولكن تقوم بوضع نسخه من المتغير وتقوم بتغييرها الى النوع المراد , ولكن على عكس الاخرى فهي تقوم بتغير النوع فعليا
السوال يعنى ايه تضع تضع نسخة من المتغير وتقوم بتغيرها الى المراد اما التانية تغير النوع فعليا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
Tiger
مشرف
مشرف


ذكر
عدد الرسائل : 1619
العمر : 27
تاريخ التسجيل : 22/02/2008

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   الأحد مارس 29, 2009 5:20 am

سلام عليكم
ازيكو يا جماعة ازيك يا تولين هى الاسئلة مش واضحة قوى بس هجاوب على حسب ما فهمت بالنسبة للسوال الاول الفرق بين المتغير $وobject الاول متغير متعرف فى اللغة يعنى زى ال int
انما object دا متغير من class احنا اللى بتعرفة يعنى احنا بنعمل class وبعد كدا بنعرف من ال class دى متغير من نوع object
دا باختصار يعنى بالنسبة للسوال التانى فالفرق بين الطريقة الاولى والطريقة التانية casting فى الطريقة الاولى انا بحول نوع المتغير فى البرنامج على طول يعنى بعد ما اكتب السطرsettype( $var , new type )
كدا المتغير اتحول نوعة فى البرنامج كلة وانما الطريقة التانية انا بحول نوع البرنامج فى العملية او السطر بس وبعد المتغير بيرجع الى نوعة اللى عرفتة ودا الاحسن واللى معروف فى كل لغات البرمجة انما الطريقة الاولى متعتبرش casting دى تعتبر انا بغير نوع المتغير الى نوع تانى طول البرنامج
ويارب اكون اقدرت اوضح

الرجوع الى أعلى الصفحة اذهب الى الأسفل
كنزى
عضو ملكي
عضو ملكي


انثى
عدد الرسائل : 646
العمر : 26
تاريخ التسجيل : 26/12/2008

مُساهمةموضوع: رد: 3- المتغيرات , الثوابت و المعاملات   السبت أبريل 11, 2009 1:29 am

تمام زائر الدرس سهل وبسيط
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
3- المتغيرات , الثوابت و المعاملات
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: الكمبيوتر والإنترنت :: الويب :: PHP :: اقوى دروس تعليم برمجة الــ php-
انتقل الى: