ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى تضع فيه
قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق على المتغير
هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد قيم المتغير
؟! في لغة PHP نقوم بتعريف متغير عن طريق الرمز $ فمثلا لو قلنا اننا نريد ان نعرف
متغيرا اسمه ( name ) ويحتوي على القيمه ( احمد ) فسوف نقوم بالتالي....
متطلبات قبل البدأ :
اهداف الدرس:
- المتغيرات
- انواع البيانات
- الثوابت
- المعاملات
- ترتيب الاهميات
المتغيرات :
ما معنى متغير ؟ المتغير هو عباره عن مكان او محتوى
تضع فيه قيمة , تخيل كأس يمكن ان يحتوي ماء او عصير اليس ذلك صحيحا ؟ نفس الشي ينطبق
على المتغير هو مكان نحفظ به قيمة ( بيانات ) . اذن كيف نقوم بتعريف متغير ؟ وكيف نحدد
قيم المتغير ؟! في لغة 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" |
string |
| 123 |
Integer |
| 1.23 |
Double |
| True / False |
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 الثوابت المعرفة
في نفس اللغه , وهي ثابته ولا تتغير ولمشاهدتها قم بكتابة التالي في محرر الاكواد

وقم بتشغيل الملف وشاهد النتيجه :) .
(( سوف تظهر لك صفحه يوجد بها اعدادات هذه اللغه , لا تهتم لها الان فقط انظر الى الثوابت
Variables ))
المعاملات:
لدينا ثلاث انواع من المعاملات في لغة
PHP وهي المعاملات الحسابيه , معاملات المقارنه , المعاملات
المنطقيه وسوف نتكلم عنها بالتفصيل
المعاملات الحسابيه
المعاملات الحسابيه الاعتياديه
|
نتيجة المثال |
مثال |
الاسم |
المعامل |
| 2 |
1+1 |
جمع |
+ |
| 0 |
1-1 |
طرح |
- |
| 6 |
2*3 |
ضرب |
* |
| 3 |
6/2 |
قسمه |
/ |
| 1 |
10%3 |
باقي القسمه |
% |
معاملات حسابيه اخرى :
|
تساوي |
مثال |
العمليه |
| $x = $x + 5 |
$x +=5 |
+= |
| $x = $x - 5 |
$x -=5 |
-= |
| $x = $x * 5 |
$x *= 5 |
*= |
| $x = $x / 5 |
$x /= 5 |
/= |
| $x = $x % 5 |
$x % = 5 |
%= |
| $x = $x + 1 |
$x++ |
++ |
| $x = $x - 1 |
$x-- |
-- |
شيء مخيف اليس كذلك ؟ بالعكس انه سهل جدا , كأنك تقوم
بتعلم الرياضيات للمرحله الاولى , لنقم بكتابة بعض الاكواد وسوف ترى كيفية سهولة الامر
, افتح محر الاكواد ولنقم بعمل بعض من تمارين العمليات الحسابيه الاعتياديه :

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

لاحظ اننا هنا قمنا بتغيير قمية محتوى المتغير الاساسية
, وليس مؤقتا , قم بتجربة العمليات الاخرى , حتى ولو كانت هناك بعض الاخطاء , قم بالتكرار
ومحاولة معرفة الخطأ وسوف تفهم جميع الاكواد السابقه.
سوف نقوم الان بذكر معاملات
المقارنه والمعاملات المنطقيه ولكن لن نقوم بعمل اي تمارين عليها , وذلك لانها سوف
تستعمل في الدرس القادم
معاملات المقارنه :
|
المعنى |
المعامل |
| يساوي |
= = |
| لا يساوي |
!= |
| يساوي ومن نفس النوع |
= = = |
| اكبر من |
> |
| اكبر من ويساوي |
>= |
| اصغر من |
< |
| اصغر من ويساوي |
<= |
المعاملات المنطقية
:
|
النتيجه |
مثال |
يكون صحيح عند |
الاسم |
المعامل |
| true |
true || false |
احد الطرفين صحيح |
او |
|| |
| true |
true OR false |
احد الطرفين صحيح |
او |
OR |
| false |
true && false |
كل الطرفين صحيحه |
و |
&& |
| false |
true AND false |
كل الطرفين صحيحه |
و |
AND |
| false |
true xor true |
احد الطرفين صحيح
وليس الاثنان |
xor |
xor |
| false |
!ture |
الطرف ليس صحيح |
لا |
! |
قد تتسائل لماذا يوجد لكل نوع اثنان من الاشكال ؟
والجواب سوف يكون في القسم التالي وهو ترتيب الاهميات
ترتيب الاهميات:
عند استخدام المعاملات يقوم المترجم بالقراء من اليمين
الى اليسار في الحالات العاديه وعند استخدام معامل واحد , ولكن تخيل لدينا اكثر من
معامل في سطر برمجي واحد ؟ هنا يقوم المترجم بالاختيار حسب الاهميه , لنأخذ مثال على
ذلك , تخيل ان لديك العمليه التاليه :
4 + 5 فماهو الناتج
؟؟؟ الناتج واضح وليس به اي غموض وهو 9
ولكن تخيل لو لديك العمليه التاليه 4 + 5 * 2 ؟؟؟ فما
هو ناتج العمليه الحسابيه ؟ الجواب هو 14 , لان المترجم قرأ عملية الضرب اولا ثم عملية
الجمع , ويمكن ان تقوم بإجبار المترجم على قراء عملية الجمع اولا بإستخدام الاقواس
, مثال : ( 4 + 5 ) * 2 وسوف يكون الناتج 18 , في الجدول
التالي سوف تقوم بمعرفة الاهميات وترتيبها وماهي المعاملات التي تنفذ قبل الاخرى (
من الاعلى الى الاسفل )
|
المعامل |
| ++ , -- , (cast) |
| / , * , % |
| + , - |
| < , <= , => , > |
| = = , = = = , != |
| && |
| || |
| = , += , -= , /= , *= , %= , .= |
| AND |
| xor |
| OR |
لا تتعجل بالحكم على ان اللغه صعبه , يمكن ان لا اكون
قد وضحت فكرة الشرح بشكل جيد , او لم يكن القائي جيدا , ولكن اعدك في الدرس القادم
انك سوف تعرف معنى هذه المتغيرات وكيفية استعاملها , ومع الدرس القادم , تبدأ به متعة
لغة PHP
اسئلة على الدرس :
-
اي من اسماء المتغيرات التاليه غير مسموح في لغة
PHP :
$name
$22name65
$first name
$last-name
$______________ARCCN____________
2. ماهو ناتج العمليات
التاليه :
4+5+6*(2*4)
2+9*8
3. قم بإنشاء متغير من نوع ( integer )
وقم بتحويله الى كل الانواع التي مرت عليك , مره بإستخدام الداله
settype ومره بإستخدام ( Casting )
ولاحظ الفرق بينهما
الدرس القادم :
سوف نقوم في الدرس القادم بالتعلم على الشروط في لغة
PHP بالتفصيل , انواعها وطريقة كتابتها , واستعمالها مع
المعاملات المنطقيه و معاملات المقارنه
القسم دروس php | عدد زيارات الدرس 718 زياره
|