بسم الله الرحمن الرحيم
ما معنى
متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه قيمة , تخيل كأس يمكن
ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير هو مكان
نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم
المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا
اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف
نقوم بالتالي....
بسم الله
الرحمن الرحيم
- متطلبات قبل البدأ :
- مراجعة
الدرس الاول : اول برنامج PHP
- اختيار محرر كتابة الاكواد المناسب
</li>
اهداف الدرس:
المتغيرات
انواع
البيانات
الثوابت
المعاملات
ترتيب الأهمية
</li>
المتغيرات
: ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع
فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي
ينطبق على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف
متغير ؟ وكيف نحدد قيم المتغير ؟! في لغة PHP نقوم بتعريف متغير عن طريق
الرمز $ فمثلا لو قلنا اننا نريد ان نعرف متغيرا اسمه ( name ) ويحتوي على
القيمه ( احمد ) فسوف نقوم بالتالي:
$name = "احمد";
لكن يجب
عليك الانتباه بأن اسماء المتغيرات في لغة PHP لها حدود, نعني بذلك انه
يوجد اسماء واحرف غير مسموحه لتعريف المتغيرات, لنقوم بتسهيل الامر سنذكر
المسموح منها وهو ( احرف ) و ( ارقام ) و ( _ ) فقط.
مثال على الاحرف
: ( $name ) , مثال على الارقام : ( $223 ) , مثال على _ : ( $_name ) ,
ارأيت سهولة ذلك ؟
ولكن يفضل ان تكون
الاسماء معبره لكي يسهل عليك كتابة البرنامج ويسهل على الغير فهم محتواه فلو اردت ان تعرف متغير يحوي البريد الالكتروني فسوف يكون كالتالي (
$email ) او ( $user_email ) وليس من المنطقي ان يكون ( $2235 ) او (
$mobile ) على سبيل المثال. وتذكر ان يمكنك استخدام اي عدد من الحروف التي
تريد , فهي ليست محدده
لو اردنا ان نقوم بتعريف متغير به القيمه 1
ومتغير اخر به القيمه 2 ماذا سوف نفعل ؟ سوف نقوم بتعريف المتغير الاول (
$number1 = 1; ) والمتغير الثاني ( $number2 = 2; ) , ماذا لو اردنا طباعته
الى المتصفح , بكل بساطه نقوم بعمل التالي: ( print $number1; ) و ( print
$number2; ) , لم تقتنع ؟ لم توضح الصوره ؟ مللت من الكلام ؟ لنقم بتسخين
ايدينا قليلا وقم بفتح محرر الاكواد اليك وقم بكتابة الكود التالي :
PHP كود :
<?php
$number1 =1;
$number2 =2;
print $number1;
print "<br>"; // سطر جديد
print $number2;
?> عند تنفيذ هذا الكود سوف يكون لدينا الناتج التالي :
اذن في المتغير number1 قمنا بوضع القيمه 1 وفي
المتغير number2 قمنا بوضع القيمه 2 ( بإستخدام العلامه = ) وقمنا بطباعة
المتغيرات, فرأينا محتوى المتغيرات. اذن كأننا قلنا ( print 1; ) اليس كذلك
؟ لاحظ هنا ان السطور البرمجيه تنفذ سطرا سطرا , نعني بذلك اننا سنقوم
بتنفيذ السطر رقم 3 ثم نقوم بتنفيذ السطر رقم 4. لكن قد تتسائل , فقط
نستطيع ان نقوم بوضع قيم ؟ هل يمكن ان نضع متغير في متغير ؟ نعم يمكن ذلك
بهذه الطريقه ( $number2 = $number1; ) ارأيت السهوله والبساطه في الموضوع ؟
وسوف يقوم بطباعة الرقم 1 . قلنا قبل قليل ان التنفيذ يكون سطرا سطرا اليس
كذلك ؟ لنرى مثالا على ذلك , اكتب في محرر الاكواد التالي :
PHP كود :
<?php
$number1 =1;
$number2 =2;
$number2 = $number1; // قيمة 2 الى 1
print $number1;
print "<br>";
print $number2; // سيطبع رقم 1
?> قم بتجربة الملف ولاحظ الناتج , اذن لان الاوامر تنفذ سطرا سطرا لم
يقم المترجم بطباعة القيمه 2 , لان اخر قيمة اسندت الى المتغير ( $number 2
) هي قيمة المتغير ( $number1 ) , اعتقد ان الامر قد اتضح الان , لا تنسى
ان اسماء المتغيرات حساسه لحالة الاحرف فالمتغير ( $number ) لا يساوي
المتغير ( $Number ) .
انواع
البيانات: هل لاحظت في الامثله السابقه اننا قمنا بطباعة
ارقام ونصوص, اليس كذلك ؟ ولكن ماهي انواع البيانات الي تأخذها المتغيرات
وانواعها ؟ لدينا عدة انواع من المتغيرات الا وهي : ( نصوص = string ) , (
ارقام = integer ) , ( ارقام عشريه = Double ) , ( المتغير Boolean ) , (
مصفوفه = array ) , ( كائن = object ) , في بداية تعلمنا سوف نقوم بالتعرف
على النصوص والارقم العشرية والمتغير Boolean , اما الاخري فسوف تكون في
دروس متقدمه اخرى , لنأخذ امثله على هذه المتغيرات
لاحظ اننا عندما نريد طباعة نص يجب ان نقوم بوضعه بين
علامتي التنصيص " " او ' ' اي واحد منهما تقوم بإختياره , ولكن اذا بدأت
بواحد منهم يجب ان ينتهي النص بنفسه فلا يصح ان نقول ( "mohammad' ) ولكن
الصحيح ( "mohammad" ) او ( 'mohammad' ) وضحت الصوره ؟
معلومه خارجيه : تسمى لغة PHP اللغه المسامحه
ولذلك انك عند وضع القيمه داخل المتغير لا تحتاج ان تقوم بتحديد النوع ,
فإن المترجم يقوم بعرفة النوع من تلقاء نفسه , ماعليك فعله فقط ان تقوم
بوضع علامة $ قبل اسم المتغير. تخيل انك تريد معرفة نوع
قيمة موجوده في متغير , ماذا يجب عليك ان تفعل , امر بسيط جدا وهو ان تقوم
بإستخدام الداله gettype($var); وسوف تقوم هذه الداله بطباعة نوع المتغير
الموجود لديك , لنأخذ امثله على ذلك , افتح محرر الاكواد وقم بكتابة
التالي:
PHP
كود :
<?php
$name = "Ahmed";
$number = 100;
$double = 100.0236;
$boolean = true;
$test;
print gettype ($name);
print "<br>;
print gettype ($number);
print "<br>";
print gettype ($double);
print "<br>";
print gettype ($boolean);
print "<br>";
print gettype ($test);
?> وسوف يكون الناتج كما يلي :
لاحظ ان المتغير
$test نوعه NULL وذلك لاننا لم نقم بتعيين اي قيمه له , ومعنى NULL هو فراغ
او لا شيء ماذا لو اردنا تغيير قيمة متغير من نوع الى اخر
, من integer الى string فمالذي نفعله ؟ نقوم بإستخدام الداله
settype($var , new type ) لكي تقوم بالعمل المطلوب , لنأخذ مثالا لتوضيح
الصوره
PHP
كود :
<?php
$number = 100;
print gettype ($number);
settype ($number , string); //غيرنا النوع
print "<br>";
print gettype ($number);
?> والناتج هو :
والبقية نفس المنوال ,
فقط قم بوضع المتغير , ثم ضع النوع المراد التحويل اليه
هناك
طريقة اخرى لتغيير نوع المتغير وتسمى ( Casting ) وهي بالطريقة التاليه :
PHP كود :
<?php
$number = 100;
print gettype ($number);
print "<br>";
$number = (string) 100;
print gettype ($number);
?> قم بكتابة الكود وسوف ترى ان النتيجه نفسها نتيجة عمل settype( $var , new
type ) والاختلاف الوحيد ان طريقة ( Casting ) لا تقوم بتغيير نوع
المتغير الاساسي او فعليا , ولكن تقوم بوضع نسخه من المتغير وتقوم بتغييرها
الى النوع المراد , ولكن على عكس الاخرى فهي تقوم بتغير النوع فعليا
هناك شي اخر وهو لو اردنا جمع متغيرين مع بعضهما البعض في سطر واحد , فسوف
نقوم بإستخدام ( . ) , لم توضح الصوره وانا متأكد , لنأخذ مثال يبين لنا
المعنى , افتح محرر الاكواد مجددا وقم بكتابة التالي :
PHP كود :
<?php
$f_name = "دورة";
$l_name = "الدعم العربى";
$whole = $f_name.$l_name;
print $whole;
print "<br>";
//فى السطر التالى سنستخدم القوس المزدوج لوضع فراغ بين الأسمين
$whole= $f_name." ".$l_name;
print $whole;
print "<br>";
//نفس العملية
print "انا اتعلم فى".$whole;
?> والناتج هو التالي:
الثوابــــت: رأيت في السابق اننا نقوم بإنشاء متغيرات ونقوم بتغيير انواعها
والكثير من الامور ولكن يوجد لدينا الثوابت , ماهي الثوابت ؟ من الاسم
يمكنك ان تستنج انه متغير ثابت ولا يتغير ابدا مهما حصل , قد تتسائل لماذا
نحتاج الى هذه النوع من المتغيرات , والاجابه هي , تخيل ان لدينا اسعار بعض
من منتجاتنا , وهذه الاسعار ثابته ولا تتغير ؟ فسوف نقوم بوضعها في
الثوابت بالطريقه التاليه define( 'var' , value ) هل وضحت الصوره ؟؟
لنأخذها بالعربيه define('اسم المتغير' , القيمه ) , هل عرفت الان الطريقة ؟
لنقم ببعض الامثله ,تخيل انه لدينا مطعم ونبيع الببسي بثلاث انواع , صغير
وقيمته ريال واحد , وسط وقيمته ريالان , كبير وقيمته 3 ريالات , قم بكتابة
التالي ,
PHP كود :
<?php
define ('small_pepsi' , 1);
define ('medium_pepsi' , 2);
define ('large_pepsi', 3);
print small_pepsi;
print "<br>";
print medium_pepsi;
print "<br>";
print large_pepsi;
?> والناتج هو التالي :
الفرق بين المتغيرات
والثوابت , هي انه عندما نريد ان نقوم بطباعة الثابت او استخدامه لا نقوم
بوضع علامة $ في الثابت ابدا , وايضا من الاسماء الممنوع استخدامها في
متغيرات لغة PHP الثوابت المعرفة في نفس اللغه , وهي ثابته ولا تتغير
ولمشاهدتها قم بكتابة التالي في محرر الاكواد
PHP كود :
<?php
php info();
?> وقم بتشغيل الملف وشاهد
النتيجه
.
(( سوف تظهر لك صفحه يوجد بها اعدادات
هذه اللغه , لا تهتم لها الان فقط انظر الى الثوابت Variables )) المعامــلات: لدينا ثلاث انواع من المعاملات في لغة PHP وهي المعاملات الحسابيه ,
معاملات المقارنه , المعاملات المنطقيه وسوف نتكلم عنها بالتفصيل
المعاملات الحسابيه المعاملات
الحسابيه الاعتياديه
معاملات حسابيه اخرى :
شيء مخيف اليس كذلك ؟ بالعكس انه سهل جدا ,
كأنك تقوم بتعلم الرياضيات للمرحله الاولى , لنقم بكتابة بعض الاكواد وسوف
ترى كيفية سهولة الامر , افتح محر الاكواد ولنقم بعمل بعض من تمارين
العمليات الحسابيه الاعتياديه :
PHP كود :
<?php
$x=6;
$y=3;
//العمليات تكون على الشكل التالى
$a= $x + $y; // جمع
$b= $x - $y; // طرح
$c= $x * $y; // ضرب
$d= $x / $y; // قسمة
$e= $x % $y; // قسمة بالباقى
print $x. " + " .$y. " = ".$a;
print "<br>";
print $x. " - ".$y." = ".$b;
print "<br>";
print $x. " * ".$y." = ".$c;
print "<br>";
print $x. " / ".$y." = ".$d;
print "<br>";
print $x. " % ".$y." = ".$e;
?> ارأيت سهولة الامر ؟ فقط عليك ان تقوم بذكر رموز العمليات وسوف يكون
لديك الناتج , لنقم الان ببعض تمارين المعاملات الحسابيه الاخرى , قم
بكتابة التالي :
PHP كود :
<?php
$x= 6;
// السطر التالى يوضح كيفية زيادة المتغير
$x +=1; // $x=$x+1
print $x
//السطر التالى زيادة المتغير بواحد
$x++;
print "<br>";
print $x;
?> لاحظ اننا هنا قمنا بتغيير قمية محتوى المتغير الاساسية , وليس مؤقتا , قم
بتجربة العمليات الاخرى , حتى ولو كانت هناك بعض الاخطاء , قم بالتكرار
ومحاولة معرفة الخطأ وسوف تفهم جميع الاكواد السابقه.
سوف نقوم الان بذكر معاملات المقارنه
والمعاملات المنطقيه ولكن لن نقوم بعمل اي تمارين عليها , وذلك لانها سوف
تستعمل في الدرس القادم معاملات
المقارنـــــه : المعاملات المنطقية
: قد تتسائل لماذا يوجد لكل نوع اثنان
من الاشكال ؟ والجواب سوف يكون في القسم التالي وهو ترتيب الاهميات
ترتيب الاهميــــات: عند استخدام المعاملات يقوم المترجم بالقراء من اليمين الى اليسار في
الحالات العاديه وعند استخدام معامل واحد , ولكن تخيل لدينا اكثر من معامل
في سطر برمجي واحد ؟ هنا يقوم المترجم بالاختيار حسب الاهميه , لنأخذ مثال
على ذلك , تخيل ان لديك العمليه التاليه :
4 + 5 فماهو الناتج ؟؟؟
الناتج واضح وليس به اي غموض وهو 9
ولكن تخيل لو لديك العمليه
التاليه 4 + 5 * 2 ؟؟؟ فما هو ناتج العمليه الحسابيه ؟ الجواب هو 14 , لان
المترجم قرأ عملية الضرب اولا ثم عملية الجمع , ويمكن ان تقوم بإجبار
المترجم على قراء عملية الجمع اولا بإستخدام الاقواس , مثال : ( 4 + 5 ) * 2
وسوف يكون الناتج 18 , في الجدول التالي سوف تقوم بمعرفة الاهميات
وترتيبها وماهي المعاملات التي تنفذ قبل الاخرى ( من الاعلى الى الاسفل )
لا تتعجل بالحكم على ان اللغه صعبه , يمكن
ان لا اكون قد وضحت فكرة الشرح بشكل جيد , او لم يكن القائي جيدا , ولكن
اعدك في الدرس القادم انك سوف تعرف معنى هذه المتغيرات وكيفية استعاملها ,
ومع الدرس القادم , تبدأ به متعة لغة PHP
اسئـــلة على الدرس :
- اي من اسماء المتغيرات التاليه غير مسموح في لغة PHP :
كود :
$name
$22name65
$first name
$last-name
$______________MYARABICBB____________
- ماهو ناتج العمليات التاليه :
كود :
4+5+6*(2*4)
2+9*8
- قم بإنشاء متغير من نوع (
integer ) وقم بتحويله الى كل الانواع التي مرت عليك , مره بإستخدام الداله
settype ومره بإستخدام ( Casting ) ولاحظ الفرق بينهما
الـــدرس الــقادم : سوف نقوم في الدرس القادم بالتعلم على الشروط في لغة PHP بالتفصيل ,
انواعها وطريقة كتابتها , واستعمالها مع المعاملات المنطقيه و معاملات
المقارنه
للأمانة منقول من شبكة
ارسن نت