بسم الله الرحمن الرحيم




في الدرس السابق من الدورة قمنا بعمل تطبيق شائع في معظم مواقع الإنترنت لنشرح من خلاله النماذج و برمجتها في لغة php و كان التطبيق عبارة عن نموذج الأتصال بنا و تعلمنا كيفية استقبال بيانات النموذج و استخدامها في اكوادنا و كنا قد انهينا حديثنا عن النماذج التي دام شرحها 3 دروس متتالية و بإمكانكم متابعة الدروس السابقة من خلال الفهرس التالي لدروس الدورة :




اما في درسنا اليوم فسنتحدث عن موضوع مهم جدا يستحيل ان يكون هناك لغة برمجة دونه و هو موضوع الجمل الشرطية و جمل الأختيار و هذا النوع من الجمل متوفر في لغة php تماما كما هو الحال في لغة جافا و ++C و بيسك و بايثون و غيرها و هذه الجمل توفر ديناميكية في المواقع

لنبدأ ردسنا على بركة الله

في البداية نسأل السؤال الآتي ما معنى جمل الأختيار و ما وجه الشبه بينها و بين حياتنا الطبيعية و كيف نستفيد منها في البرمجة ؟؟

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

كيف تكتب الجمل الشرطية في لغة php ؟؟

في الحقيقة هناك عدة صيغ لكتابة الجمل الشرطية مما يساعد في توليد ديناميكية اكثر و سنتعرف عليها بالتفصيل و هي كالتالي :

1 - جملة if ذات الشرط الواحد الصحيح : و ترجمتها اذا كان .. فإن ...
و الصيغة العاملة لها كالتالي :

كود PHP:
<?
    
if(الشرط)
    {
        
// الجمل التي سينفذها اذا تحقق الشرط
    
}
?>


و كما هو واضح فإن كلمة if هي كلمة محجوزة اي انها من مكونات لغة البرمجة ثم نضع بعدها شرط بين قوسين () فإذا تحقق الشرط فإنه سينفذ العبارات الموجودة بين القوسين { و } و اذا لم يتحقق الشرط فإنه سيتابع تنفيذ البرنامج بصورة طبيعية كما في الدروس السابقة

سؤال : ما هو الشرط و كيف يتحقق ؟؟

الشرط هو عملية مقارنة بين متغيرين او اي عملية اخرى ترجع قيمه صواب او خطأ (true or false) و يمكنكم الرجوع لعمليات المقارنة في الدرس الثاني
اما عن كيفية تحقق الشرط فجملة if تفحص اذا كانت النتيجة النهائية لعملية المقارنة التي بداخل القوسين () هي صواب true فإن الشرط يكون قد تحقق و عكس ذلك فإن الشرط يكون لم يتحقق

نأخذ مثال بسيط كالتالي :

كود PHP:
<?
    $x 
10// متغير يحمل القيمة 10
    
$y 5;  // متغير يحمل القيمة 5
    
if($x >= $y// شرط يفحص اذا ما كانت قيمة المتغير الأول اكبر او يساوي المتغير الثاني
    
{
        echo 
"x is equal to y <br/>"// سيطبع هذه الجملة اذا كانت قيمة الشرط هي الصواب
    
}
    
    echo 
"zaedo@live.com"// سيطبع هذه الجملة في جميع الأحوال بعد الإنتهاء من الشرط
?>



و المثال السابق مشروح بالتعليقات و حاولوا تغيير قيم المتغيرات و عملية المقارنة في الشرط الى == او => و غيرها من عمليات المقارنة لرؤية النتائج

لرؤية نتيجة المثال من هنا :
http://www.al79n-php.info/less9/if.php


2 - جملة if-else : و ترجمتها اذا كان ... فإن ... و عدا ذلك فإن ....
والصيغة العامة لها كالتالي :
كود PHP:
<?
    
if(الشرط)
    {
        
// الجمل التي ستنفذ اذا كانت قيمة الشرط صواب
    
}
    else
    {
        
// الجمل التي ستنفذ اذا كانت قيمة الشرط خطـ
    
}
?>

و مثال عليها التالي :

كود PHP:
<?
    $x 
10;
    
$y 20;
    if(
$x == $y)
    {
        echo 
"x is equal to y <br/>";
    }
    else
    {
        echo 
"x is not equal to y <br/>";
    }
    
    echo 
"zaedo@al79n-php.info";
?>

في هذا المثال قمنا بتعريف متغيرين x = 10 و y=20 ثم تقوم جملة if بفحص الشرط هل x == y فإذا تحقق الشرط فسوف تنفذ الجملة التي في الأقواس بعد if وهي :

كود PHP:
echo "x is equal to y <br/>"


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

كود PHP:
echo "x is not equal to y <br/>"


و في حالتنا هذه فإن قيمة المتغيرين غير متساوية اذا سيطبع ما بعد الجملة else

لرؤية نتيجة المثال من هنا :
http://www.al79n-php.info/less9/if-else.php

3 - جملة if-elseif : و هي جملة اختيار متعددة الشروط و الصيغة العاملة لها كالتالي :

كود PHP:
<?
    
if(شرط)
    {
        
// اذا تحقق الشرط ينفذ الكود الموجود هنا
    
}
    elseif(
شرط)
    {
        
// اذا تحقق الشرط ينفذ الكود الموجود هنا
    
}
    elseif(
شرط)
    {
        
// اذا تحقق الشرط ينفذ الكود الموجود هنا
    
}
    else
    {
        
// اذا لم يتحقق الي من الشروط السابقة فإنه سينفذ الكود الموجود هنا
    
}
?>
و مثال عليه كالتالي :

كود PHP:
<?
    $mark 
70;
    if(
$mark == 100)
    {
        echo 
"your mark is full <br/>";
    }
    elseif(
$mark == 80)
    {
        echo 
"your mark is very good <br/>";
    }
    elseif(
$mark == 70)
    {
        echo 
"your mark is good <br/>";
    }
    elseif(
$mark <= 60)
    {
        echo 
"your mark is bad <br/>";
    }
    else
    {
        echo 
"you are fall ... <br/>";
    }
    
    echo 
"zaedo@al79n-php.info";
?>


في هذا المثال قمنا بتعريف متغير اسمه mark$ اي علامة و قمنا بتخزين العلامة 70 فيه ثم بدأت جملة الشرط و تفحص الشروط متتالية الى ان يتم تحقيق الصواب في الشرط فيتم تنفيذ الجملة التي بعدها لكن لاحظ انه اذا لم يتحقق اي شرط من الشروط فإنه ينتقل الى اخر جملة else و ينفذ ما بعدها داخل الأقواس

لرؤية نتيجة المثال من هنا :
http://www.al79n-php.info/less9/elseif.php

بهذا اخواني نكون قد انتهينا من جملة if الشرطية و انواعها و الدرس القادم سيكون عن نوع اخر من الجمل الشرطية و هو switch التي تشابه في عملها if-elseif

ملاحظة : سأحاول وضع عدة دروس في اليومين القادمين لكي لا اسبب انقطاع في الدورة لأنني ربما اتغيب عن المنتدى لعدة ايام لإنشغالي في عدة امور

والسلام عليكم و رحمة الله و بركاته