php الشروط

elseif / switch

آخر تحيين: 08-01-2015

الشروط المختصرة if ... else


elseif كلمة مركّبة من else و if . و هي تعني ثُمّ إذا. نستخدمها عندما نريد تنفيذ جزء من الشيفرة ، من بين عدد من الشروط ، إذا كان الشرط الأول خاطئا .

<?php
$my_country = "المغرب";
    
if ($my_country == "فلسطين" ) {
    echo 'بلدي فلسطين';
} elseif ($my_country == "المغرب" ) {
    echo 'بلدي المغرب';
} else{
    echo 'مرحى بكل العالم';
}
?>

يقوم الحاسوب بالتحقق من الشرط الأول if و يجده خاطئا ، ثم ينتقل إلى elseif فيجدها صحيحة ثم ينفّذ الشيفرة المتواجدة داخلها و يكتفي من التحقق .
لا حظوا أن شروطنا تنتهي بشرط else ، و هذا ضروري ، لأنه في حالة ما إذا كان الشرطين if و elseif خاطئين سيتم تنفيذ شيفرة esle .
يممكننا استعمال العدد الذي نريده من شروط elseif

<?php
$your_color = "orange";
    
if ($your_color == "yellow") {
    echo 'لونك المفضل هو الأصفر';
}elseif ($your_color == "green") {
    echo 'لونك المفضل هو الأخضر';
}elseif ($your_color == "red") {
    echo 'لونك المفضل هو الأحمر';
}elseif ($your_color == "blue") {
    echo 'لونك المفضل هو الأزرق';
}elseif ($your_color == "black") {
    echo 'لونك المفضل هو الأسوَد';
}elseif ($your_color == "orange") {
    echo 'لونك المفضل هو البرتقالي';
}else{
    echo 'أفضل لونا آخر';
}
?>

switch البديل الفعال ل elseif

نستعمل switch إذا كان لدينا الكثير من elseif ، كما في مثالنا السابق .
أعرض عليكم طريقة كتابة شروط switch :

switch (تعبير)
{
case القيمة1:
     الشيفرة التي يجب تنفيذها ، إذا كان الشرط يساوي للقيمة1;
     break;  
case القيمة2:
     الشيفرة التي يجب تنفيذها ، إذا كان الشرط يساوي للقيمة2;
     break;
default:
     الشيفرة التي يجب تنفيذها ، إذا كان الشرط يختلف عن القيمة1 و القيمة2;
}

نكتب switch أولا و يليه التعبير الذي هو المتغيّر في حالتنا . ثم نفتح القوس و نبدأ بكتابة الشروط .
كما تلاحظون ، كل شرط يبدأ بكلمة case(خانة) ثم القيمة التي سيتحقق منها الشرط متبوعة بنقطتين :
بعدها نكتب الشيفرة التي ستنفّذ إذا كان الشرط صحيحا . ونختم بكلمة break التي تعني نهاية الخانة .
و في الأخير تلاحظون و جود كلمة default و هي تعمل مثل else . إذ ستُنفّذ شيفرتها في حالة عدم وجود أي شرط صحيح .

<?php
$your_color = "yellow";
    
switch ($your_color) {
    case "yellow":
        echo 'لونك المفضل هو الأصفر';
    break;
	
    case "green":
        echo 'لونك المفضل هو الأخضر';
    break;

    case "red":
        echo 'لونك المفضل هو الأحمر';
    break;

    case "blue":
        echo 'لونك المفضل هو الأزرق';
    break;

    case "black":
        echo 'لونك المفضل هو الأسود';
    break;
	
    case "orange":
        echo 'لونك المفضل هو البرتقالي';
    break;
    default:
        echo 'أفضل لونا آخر';
}
?>