لقد أخذنا في الدروس السابقة فكرة عن المتغيرات وكيفية تعامل البيانات مع النماذج ...في هذا الدرس سنتعلم كيفية التحكم بالكود بمعني تنفيذ سطر معين من الكود عند حصول شرط معين وعند عدم حصوله نتجاهل السطر ونتجه الى السطر الذي يليه ..هذا يمنحنا تحكماً أكبر بالكود ويجعلنا نستخدم قرارات وتنفيذ أشياء ممتازة وبرامج رائعة بالـPHP .
دعنا نعطيك فكرة من حياتنا اليومية ....
تقوم في الصباح وتريد أن تحضر فطورك الذي يتكون من التالي :
عسل
جبنة
خبز
شاي
ستقوم بالذهاب إلى الثلاجة ثم تقوم بالبحث عن الأشياء التي يتكون منها فطورك ، فإذا لم تجد ما تريد تستعد للذهاب إلى المركز التجاري لشرائه حاجتك ، تذهب إلى المطبخ وتتأكد مره أخرى وتبحث عن المؤونة التي يحتاجها البيت بشكل عام .
1- تبحث عن جبنة وإذا لم تجدها تنتقل إلى الخطوة 3 .
2- إذا وجدت جبنة فإنك تبحث عن العسل فإذا وجدته تنتقل الى الخطوة 4 ، واذا لم تجده تنتقل الى الخطوة 5 .
3- تقوم بكتابتها في ورقة جانبية وتقوم بالبحث عن العسل .
4- تتجهز للذهاب إلى المركز التجاري .
5- تكتبه في ورقه جانبيه ثم تتجهز للذهاب إلى المركز التجاري .
هل لاحظت انك كنت تقوم بالبحث عن أشياء معينة فاذا وجدتها (true ) قمت بالبحث عن التي تليها وإذا لم تجدها (false) تقوم بتسجيلها في قائمة المشتريات لديك .
القيم المنطقية والدوال الشرطية
في الواقع لقد تكلمنا عن المتغيرات سابقاً وذكرنا بأن هناك متغيرات منطقية (قيمتها إما صحيح إم خطأ ) ولم نقم بشرحها ، وهذا الدرس سيتولي شرحها وإعطاء أمثلة على كيفية التعامل معها .
العبارة IF
كود PHP:
IF condition is true ( إذا كان الشرط صحيحاً )
{
excute this code (قم بتنفيذ هذا الكود)
}
إن الدالة IF معروفة تقريباً في جميع لغات البرمجة ...حيث أنها تقوم بعملية التحقق من شي معين وتنفيذ بعض الأشياء إذا كان الشرط صحيحا (true) والقيام بتنفيذ أشياء أخرى أذا لم يكن صحيحا ....
سيقوم الـPHP بتنفيذ الكود التي بين { و } فقط اذا كان الشرط صحيحاً .
أما إذا لم يكن صحيحاً فسيقوم بتجاوزه وتنفيذ الكود الذي يليه .
ويمكنك أيضا أن تقوم بجعلها بسطر واحد ولا تستخدم الأقواس بل تكتب الأمر مباشرة :
كود PHP:
IF condition is true excute function;
لاحظ أنه لابد من استخدام { و } إذا كان الكود يتكون من عدة أسطر أما إذا كان يتكون من سطر واحد فلا داعي لاستخدامها .
فالمثالين التاليين كلهما صحيحين
مثال(1)
كود PHP:
<?
$S=10
IF ($S=10) echo 11;
?>
مثال (2)
كود PHP:
<?
$S=10
IF ($S=10){
echo 11;
}
?>
لنتخيل مثلاً أن الجو ممطر وسنقوم بإعطاء المطر متغيراً ونسميه rain ونقوم بإعطاء المظلة اسم متغير آخر ونسميه umbrella وسنقوم بإفتراض أن هناك أمر في الـphp يسمي go out حسناً الآن الكود الذي نريد أن نقوم بكتابته هو :
كود PHP:
If $rain = true
{
$umberrlla = true
}
go out();
فائدة هذا الكود هو أن تأمر الـPHP بحمل المظلة ($umberrlla=true) معه إذا كان الجو ممطراً ($rain=true)وإذا لم يكن ممطراً ولم يتحقق الشرط فإنه سيخرج إلى النزهه بدون أي مظلة .
طبعا ليس هناك دالة تقوم بذلك إنما قمنا بذلك من أجل التوضيح للمستخدم هيكلية عمل الدالة بشكل عام .
مقدمه الى القيم المنطقيه (Boolean Values)
القيم المنطقية ترمز إلى الأشياء التي لاتحتمل أكثر من احتمالين وهما إما صح وإما خطأ ، وهي نوع جديد من القيم غير التي كنت نعرفها سابقا (مثل الرقميه والنصيه) .
مثال
كود PHP:
<?
$variable=true;
echo “$variable”;
?>
لو قمت برؤيه النتييجة ستجد أنه يطبع الرقم واحد وهو قيمة المتغير إذا كان صحيحاً ، أما أذا كان خطأ أو غير صحيح فقيمته ستكون( 0 ) .
المعاملات المنطقية
لقد أخذنا المعاملات الرياضية فيما سبق بشيء من التفصيل (+،-،/،*) والان سنأخذ شيئاً جديداً من المعاملات وهي المعاملات المنطقية التي تساعدنا في صناعة الشروط والتقييدات على شي معين وتعطينا تحكما أكبر في الكود .
المعاملات : < و >
من المفترض أن تكون متآلفاً مع علامتي الأكبر من والأصغر من في الرياضيات التي تتعلمها في المدرسة مما يجعل فهم هذا الأمثله بسيطاً .
كود PHP:
<?
If (6>5)
{
echo “الرقم ستة أكبر من الرقم خمسة ”;
}
Echo “end”;
?>
سيقوم الـPHP في مثالنا هذا بفحص الشرط (6>5) فإذا كان صحيحاً (true) سيقوم بطباعة السطر (الرقم سته اكبر من الرقم خمسه) ثم يقوم بطباعة end ، وإذا لم يكن صحيحاً فسيقوم بتجاهل الكود وطباعة (end) فقط .
يمكننا أيضا استعمالها في المقارنة بين متغير ورقم أو بين متغير وثابت (constant) أو العكس أو المقارنة بين متغيرين .
مثال (1)
كود PHP:
<html dir =”rtl”>
<?
$LuckeyNumber = 5;
If ($LuckeyNumber<6)
{
echo (“رقم الحظ أصغر من الرقم ستة ”);
}
?>
مثال (2)
كود PHP:
<html dir=”rtl”>
<?
$f=5;
$r=10;
If ($f >$r)
{
echo “المتغير $f أكبر من المتغير $r”;
}
?>
تطبيق عملي :
قم بتشغيل محرر النصوص واكتب الكود التالي واحفظه باسم thegame.php
كود PHP:
<html dir = “rtl”>
<body>
<form method =get action=”game.php”>
ماهو الرقم الذي أفكر به الآن والذي هو بين 1 و10 ؟
<input type=”text” name=”number”>
<br>
<br>
<input type =submit>
</form>
</body>
</html>
قم بفتح محرر النصوص لديك من جديد واكتب الكود التالي واحفظه باسم game.php
كود PHP:
<html dir=”rtl”>
<body>
<?
$num = rand (1,10);
if ($number>$num)
{
echo “لقد اخترت رقم أكبر من الذي أفكر فيه” ;
Echo “الرقم الذي أفكر فيه هو “;
Echo $num;
Echo “<br>”.“يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “ ;
}
if ($number<$num)
{
echo “لقد اخترت رقم أصغر من الذي أفكر فيه” ;
Echo “الرقم الذي كان في مخيلتي هو $num”;
Echo “<br>”. “يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “;
}
?>
لقد نجحت
</body>
</html>
شرح التطبيق :
تقوم هذه الدالة باختيار رقم عشوائي من بين رقمين يتم اعطاءها إياها الرقم الاول(x) هو الأصغر والرقم الثاني هو الأكبر(y)
يمكنك حفظ القيمة التي تقوم بإخراجها هذه الدالة في متغير مباشرة
مثال
كود PHP:
$Num = rand (5.57);
وهذا يوضح ماقمنا به في الكود
كود PHP:
$num=rand(1,10);
يتبع