دروس فى برمجة لغة php الدرس الأول < العوامل>
العوامل : هي رموز يمكنك استخدامها للتلاعب بالقيم والمتغيرات بتنفيذ عمليات معينة عليها.
لقد أخذنا لحد الآن عاملين حسب ما أذكر .. عامل ضم السلاسل النقطة (.) وعامل التعيين (=) ، لتعيين القيم للمتغيرات .
سندخل الآن بشكل مفصل في العوامل .. ولكن قبل ذلك أود أن تعرف أن العوامل تأخذ إما معامل (operands) واحد أو اثنين أو ثلاث .. والشكل التالي يوضح لك العامل والمعامل:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]العوامل الرياضية:العوامل الرياضية واضحة جدا ، هي نفسها عمليات الحساب .. الموضحة في الجدول التالي :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]يمكن أن نخزن في متغير مجموع متغيرين آخرين بواسطة عامل التعيين وعامل الجمع كما يلي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
يمكنك استعمال عامل الطرح (-) بشكل أحادي إذا أردت تعيين أرقام سالبة :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
عامل الباقي يقوم بقسم المتغير الأول على الثاني ويخرج لك الباقي فقط …
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2 3
| $a = 13; $b = 10; $result = $a%$b; |
تكون قيمة $result تساوي 3 .. لأن الباقي من قسمة 13 على 10 هو 3 .
ملاحظة : العوامل الرياضية تستخدم على الأرقام فقط ! ، إذا استخدمتها على أي شيء آخر سيبدأ php في ( التخبيص
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] ) !
عامل السلاسل:عامل السلاسل الوحيد هو عامل ضم السلاسل النقطة (.) … مع أننا شرحناه لكن وذكر إن الذكرى تنفع المؤمنين ، فهو يعمل كما يلي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2 3 4
| $a = "السلام"; $b = " عليكم"; $result = $a.$b; echo $result; |
تكون النتيجة ( السلام عليكم ) .. قم بتجربة جميع الكودات التي أعطيها لك حتى تتوضح الصورة أكثر وتصبح أسهل للفهم والاستيعاب .
عامل التعيين:أيضا عامل التعيين قد شرحناه وهو علامة المساواة ( = ) ولكن أود أن أوضح شيئا مهما حتى لا تختلط عليك الأمور ، فعامل التعيين ( = ) ليس معناه ( يساوي ) كما في الحساب ، بل هو معناه أن نجعل متغيرا ما قيمته كذا .. مثلا :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
هنا جعلنا قيمة المتغير a مضبوطة عند 2 وقيمة المتغير b مضبوطة عند 3 .
لكن ماذا لو فعلنا التالي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
هل هذا معناه أن 2 = 3 !؟!؟! لا طبعا .. بل هذا معناه أن قيمة المتغير b أصبحت مضبوطة عند 2 ( وهي قيمة المتغير a ) ..
أتمنى أن تكون قد فهمت قصدي
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] …
ملاحظة : يمكنك استخدام عامل التعيين أثناء العمليات الرياضية باستخدام الأقواس () كما يلي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
ستكون النتيجة هنا = 11 .. لأننا قمنا بإضافة 6 على $a ولكن أثناء العملية قمنا بوضع أقواس وعينا $a عند 5 ثم قام بإضافتها على 6 ، حيث أن الأقواس تعطي الأسبقية لما بداخلها .
دمج عوامل الرياضيات بعامل التعيين:تستخدم طريقة الدمج في حالة أننا نريد أن نضيف عدد معين على متغير لا نعرف كم ستكون قيمته ! .. على سبيل المثال : نريد أن نضيف 10 علامات على أي درجة يحصل عليها الطالب .. إذن علامة الطالب غير معروفة وسنعبر عنها بالمتغير $mark .. وسنضيف عليها 10 علامات تلقائيا …. كيف نفعل ذلك ؟؟ بالطرق العادية نفعله هكذا :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
لكن php أتت وقامت بعمل عوامل مدمجة تسهل عليك هذا الأمر وتريحك من تكرار سرد المتغير ، وهذا الجدول يوضح لك تلك العوامل :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]إذن في مثالنا السابق بدلا من كتابته بالطريقة العادية سنكتبه هكذا :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
عوامل التزايد والتناقص :
عامل التزايد ( ++ ) وعامل التناقص ( — ) ولهذين العاملين تأثيرين اثنين وليس تأثير واحد فقط … فعامل التزايد يأخذ قيمة ويزيد عليها ثم يعين لها القيمة الجديدة أو العكس … بحيث يعين لها قيمة ثم يزيد عليها ، سيتوضح لك الأمر مع المثال التالي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2
| $kabsah = 5; echo ++$kabsah; |
هذا العامل يسمى ( عامل التزايد ما قبل ) فهو يأخذ قيمة kabsah ألا وهي 5 ويزيد عليها واحد ثم يطبعها .. لأننا أضفنا عامل زيادة ما قبل ، فتكون النتيجة المطبوعة = 6 .
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2
| $kabsah = 5; echo $kabsah++; |
هذا العامل يسمى ( عامل التزايد ما بعد ) فهو يأخذ قيمة kabsah ألا وهي 5 ويطبعها ثم يزيد عليها .. لأننا أضفنا عامل زيادة ما بعد ، فتكون النتيجة المطبوعة = 5 ، ولكن قيمة $kabsah أصبحت 6 ولكنها طبعت قبل أن تصبح 6 .
( نفس الشيء يطبق على عامل التناقص ولكن يتم الإنقاص بدلا من الزيادة طبعا ! )عامل المرجع :
عامل المرجع ( & ) : هو عامل جديد ظهر في الإصدارة الرابعة من PHP وهو يقوم بعمل مرجع لقيمة المتغير للرجوع إليها في أي وقت ، شاهد المثال التالي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
هنا تصبح قيمة $b مضبوطة عند 3 ، ولكن ماذا لو غيرنا قيمة $a الآن :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
الذي سيحصل أن قيمة $b لن تتغير وستبقى مضبوطة عند 3 … لماذا ؟ لأن php يأخذ عند التعيين قيمة المتغير ويخزنها في الذاكرة ، ففي حالتنا هذه أخذ php قيمة $a ألا وهي 3 وخزنها في $b فعندما غيرنا $a لم تتغير $b لأنها مخزنة عند 3 .
أتى عامل المرجع ( & ) في PHP4 ليتجنب تخزين قيمة للمتغير ويجعل القيمة عبارة عن مرجع يعود إليها المتغير الثاني ، ويستخدم كما يلي :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2 3
| $a = 3; $b = &$a; $a = 5; |
قيمة $b مضبوطة عند 3 ولكن لأننا استخدمنا عامل المرجع فلقد أصبحت قيمة $a هي المرجع للمتغير $b فعندما غيرنا قيمة $a تغيرت قيمة $b مباشرة ، فأصبحت الآن قيمة $b مضبوطة عند 5 لأننا غيرنا $a من 3 إلى 5 .
عوامل المقارنة :
تستعمل عوامل المقارنة للمقارنة بين قيمتين وذلك لنحصل على نتيجة معينة ، إما صح ( true ) وإما خطأ ( false ) .
إليك قوائم هذه العوامل ، وأذكرك أنه ليس شرطا أن تحفظها فهي كثيرة ، ولكن يمكنك اعتماد هذه الجداول كمراجع لك ترجع إليها لاحقا كلما احتجت هذه العوامل .
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]أريد أن أوضح هنا الفرق بينا العوامل ( = ) و ( == ) و ( === ) حتى لا تختلط عليكم بعض الأمور .. لقد بينا لكم سابقا ما هو عامل التعيين ( = ) ووضحنا أنه ليس علامة يساوي كما في الرياضيات ، ففي لغة php يستخدم العامل ( == ) للتعبير عن المساواة كما في الرياضيات ، على سبيل المثال :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2 3
| $a = 4; $b = 5; $a == $b; |
ستكون النتيجة خطأ لأن $a لا يساوي $b !
أما العامل ( === ) فهو عامل جديد أيضا ظهر في php4 يعطي نتيجة صح إذا كان العاملين من متساويين ومن نفس النوع ، مثلا :
?[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] PHP
1 2 3
| $a = 0; $b = 0.00; $a === $b; |
ستكون النتيجة خطأ بالرغم من أن $a تساوي $b ولكنهما ليسا من نفس النوع فـ $a نوعه integer بينما $b نوعه double مع أن لهما نفس القيمة ألا وهي 0 .
العوامل المنطقية :
تستعمل هذه العوامل لدمج نتائج عوامل المقارنة ، وذلك للتأكد من صحتها .
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]مازال هناك مجموعة كبيرة من العوامل ، ونحن كمبتدئين لا نحتاجها في الوقت الراهن ، فمهمتي هنا هو إدخالك إلى عالم PHP ثم بعد ذلك يمكنك الرجوع إلى php Manual وتأخذ منه كل ما تشاء .