البي أتش بي من الصفر الدرس الرابع إتخاذ القرار

في الكاتب: و مدرجة تحت التنصيف PHP, دروس.

بسم الله والصلاة والسلام على رسول الله.

 

هذا الدرس جزء من سلسلة البي أتش بي من الصفر:

 

نبدأ اليوم الدرس الرابع من سلسلة تعلم البي أتش بي من الصفر

أقسام الدرس:

  • الجملة الشرطية IF.
  • الجملة الشرطية IF…ELSE.
  • SWITCH.
  • عمليات المقارنة.
  • العمليات المنطقية.

الجملة الشرطية IF:

تستخدم الجملة الشرطية لتنفيذ جزء من الكود بناء على تحقق شرط ما. في بعض الأحيان تحتاج أن يقوم كودك بتنفيذ عملية أو مجموعة عمليات مختلفة بناء على شرط ما، في هذه الحالة نقوم بإستخدام الجملة الشرطية IF وصيغتها كالتالي:

<?php
if (condition is true)
execute this code
?>

في المثال التالي سنقوم بطباعة عبارة “I NEED COFFEE” إذا كان المتغير $X والذي يحمل القيمة 3 يساوي 3 فعلا!!:

<?php
$x = 3;
if($x == 3)
echo 'I NEED COFFEE';

if($x == 2)
echo 'I DONT NEED COFFEE';
?>

قم بتنفيذ الكود السابق وسيقوم بطباعة العبارة “I NEED COFFEE” ولن يقوم بطباعة العبارة التالية “I DON’T NEED COFFEE” نسبة لتحقق الشرط الأول وعدم تحقق الشرط الثاني.
لاحظ في الكود السابق عملية المقارنة تمت بإستخدام علامتين “=” وهذا ما يستخدم في المقارنة أما علامة “=” واحدة فتستخدم في الإسناد. في الكود السابق قمنا بتنفيذ تعليمة برمجية واحدة فقط عندما نريد أن نقوم بتنفيذ أكثر من عملية برمجية يجب علينا أن نضع الكود بداخل القوسين “{ }” لأن الجملة الشرطية IF تقوم بتنفيذ أول عملية برمجية بعدها مباشرة فقط. مثال:

<?php
$x = 8;
if($x == 8)
{
echo '$x = '.$x;
$x = 4;
}

if($x == 4)
{
echo '$x = '.$x;
}
?>

في هذا الكود يتم طباعة قيمة المتغير $x ومن ثم تغير قيمته إلى 4 وفي المرة الثانية بعد تحقق الشرط يتم طباعة قيمته الجديدة 4. عموما تعتبر كتابة الأقواس من الممارسات الجيدة والتي يجب على المبرمج إتباعها حتى ولو كان الكود الذي سيتم تنفيذه عبارة عن سطر واحد أو تعليمة برمجية واحدة.

الجملة الشرطية IF…ELSE:

تختلف هذه الجملة عن السابقة، فهذه الجملة تقوم بتنفيذ كود معين في حالة تحقق الشرط، وفي حالة عدم تحققه تقوم بتنفيذ كود آخر. مثال:

<?php
$x = 3;
if($x == 3)
{
echo 'I NEED COFFEE';
}
else
{
echo 'I DONT NEED COFFEE';
}
?>

في حالة كان المتغير $x يساوي 3 سيتم طباعة العبارة “I NEED COFFEE” وفي حالة لم يساوي 3 سيتم طباعة “I DON’T NEED COFFEE”.
طبعا يمكننا القيام بكتابة الجمل الشرطية داخل بعضها البعض لتنفيذ مجموعة من التعليمات البرمجية المختلفة بناء على تحقق أو عدم تحقق مجموعة من الشروط المختلفة، وتكون الصيغة بصورة عامة كالآتي:

<?php
if (condition)
{
//في حالة أن الشرط صحيح قم بتنفيذ هذا الكود
}
else
if (condition)
{
// في حالة أن الشرط الأول غير صحيح والشرط الثاني صحيح قم بتنفيذ هذا الكود
}
else
{
// في حالة أن الشرط الأول غير صحيح والشرط الثاني غير صحيح قم بتنفيذ هذ الكود.
}
?>

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

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
{
echo "Have a nice weekend!";
}
elseif ($d=="Sun")
{
echo "Have a nice Sunday!";
}
else
{
echo "Have a nice day!";
}
?>
</body>
</html>

في المثال السابق إستخدمنا الدالة date وهي دالة للتعامل مع التاريخ والوقت. قمنا بإستخدامها لجلب اليوم ومن ثم مقارنة اليوم في الشرط

SWITCH:

تختلف العبارة switch عن العبارة IF في أنها تقوم بإختيار تنفيذ كود معين بناء على قيمة معينة وليس على تحقق شرط ما. وصيغتها كالتالي:

<?php
switch (n)
{
case value1:
//الكود المراد تنفيذه في حالة القيمة الآولى
break;

case value2:
//الكود المراد تنفيذه في حالة القيمة الثانية
break:

case value3:
//الكود المراد تنفيذه في حالة القيمة الثالثة
break:

default:
//الكود المراد تنفيذه في حالة عدم مطابقة التعبير أعلاه لأي من القيم
}
?>

يتم في العبارة switch تنفيذ أحد الأكواد التابعة لها “case” بناء على قيمة المتغير أو التعبير البرمجي الموضوع أعلاه في هذه الحالة “n”. حيث يتم أخذ قيمة “n” ومقارنتها بالقيم الموجودة (value1, value2, value3) وفي حالة مطابقة إحدى القيم للقيمة “n” يتم تنفيذ الكود البرمجي التابع لها ويبدأ الكود من بعد الكلمة case وحتى الكلمة break والتي تمنع إستمرار تنفيذ الكود الموجود في الجزء التالي. وفي حالة لم يتم إيجاد قيمة مشابهه يتم تنفيذ الجزء الأخير من الكود “default” وهو جزء إختياري يمكن وضعه أو تجاهله حسب متطلباتك الخاصة. مثال:

<html>
 <body>
 <?php
 $x=1;
 switch ($x)
 {
 case 1:
echo "Number 1";
break;
 case 2:
echo "Number 2";
break;
 case 3:
echo "Number 3";
break;
 default:
echo "No number between 1 and 3";
 }
 ?>
 </body>
 </html>

 

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

تسمح لك عمليات المقارنة بمقارنة قيمتين، وغالبا ما نستخدم عمليات المقارنة في بناء الشروط التي تستخدم في الجمل الشرطية. في مثال الجملة الشرطية IF إستخدمنا عملية المقارنة == لمقارنة قيمة المتغير $x والرقم 3 ومعرفة هل يتساويان أم لا. فيما يلي جدول بكل عمليات المقارنة:

العملية الإسم الوصف مثال
س == ص يساوي تقوم بإرجاع TRUE في حالة كانت س تساوي ص 5==8 ترجع FALSE
س === ص تطابق تقوم بإرجاع قيمة TRUE في حالة كانت س تساوي ص وهما من نفس نوع البيانات 5===”5″ returns false
س != ص لا يساوي تقوم بإرجاع قيمة TRUE في حالة كانت س لا تساوي ص 5!=8 ترجع TRUE
س <> ص لا يساوي تقوم بإرجاع قيمة TRUE في حالة كانت س لا تساوي ص 5<>8 ترجع TRUE
س !== ص غير متطابق تقوم بإرجاع قيمة TRUE في حالة أن س لا تساوي ص أو أنهما ليسا من نفس نوع البيانات 5!==”5″ ترجع TRUE
س > ص أكبر من تقوم بإرجاع قيمة TRUE في حالة كانت س أكبر من ص 5>8 ترجع FALSE
س < ص أصغر من تقوم بإرجاع قيمة TRUE في حالة كانت س أصغر من ص 5<8 ترجع TRUE
س >= ص أكبر من أو يساوي تقوم بإرجاع قيمة TRUE إذا كانت س أكبر من أو تساوي ص 5>=8 ترجع FALSE
س <= ص أصغر من أو يساوي تقوم بإرجاع قيمة TRUE إذا كانت س أصغر من أو تساوي ص 5<=8 ترجع TRUE

 

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

تستخدم العمليات المنطقية للربط بين الشروط المختلفة في الجمل الشرطية. فيما يلي جدول بالعمليات المنطقية مصحوب بالأمثلة:

العملية الإسم الوصف مثال
س and ص
أو
x && y
And, و ترجع القيمة TRUE في حالة أن الشرط الأول والشرط الثاني كلاهما TRUE x=6, y=3
(x < 10 and y > 1)
(x < 10 && y > 1)
ترجع true
س or ص
أو
x || y
Or, أو ترجع القيمة TRUE في حالة أن كلا الشرطين أو أحدهما TRUE x=6, y=3
(x==6 or y==5)
(x==6 || y==5)
ترجع true
س xor ص Xor, نفي أو ترجع القيمة TRUE في حالة أن أحد الشرطين TRUE ولكن ليس كلاهما x=6, y=3
(x==6 xor y==3) ترجع false
! س Not, النفي ترجع القيمة TRUE في حالة أن الشرط أرجع القيمة FALSE x=6, y=3
!(x==y) ترجع true

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

محمد علي

مبرمج ومطور ويب، يقوم بتطوير أنظمة مبنية على الويب. يستخدم كود إيقنايتر فريم وورك بصورة أساسية. وبالتأكيد مدمن قهوة :-)

More Posts - Twitter

3 Responses to “البي أتش بي من الصفر: الدرس الرابع إتخاذ القرار”

  1. إسماعيل القرشي إسماعيل

    درس جميل ،
    انا ما عارف لكن بحس انو الدروس دي اصغر من المفترض ،، يعني احنا بنستنى كتيـــر عشان نلاقي لينا حاجة بسيطة :(
    ان شاء الله الدروس الجاية تكون ف مواعيدها ، و تكون مرضية لطموحاتي :)

    بالمناسبة ،، انا داير استخدم البي اتش بي كلغة برمجة اساسية في برامج بقدر اضيفها زي مثلاً الجافا اسكربت بستخدمها في QT\QML ،، و لا لاا بس بتتخصص ف الصفحات ؟

  2. حامد عادل

    جزاك الله خيراً، عمل جميل، وشرح واضح..
    والله أنا لو قدرت أتقن الـ php تاني ما عايز حاجة.. دمتم!

أضف تعليقاً

  • (لن يتم نشره)