condition(شرط):

عبارات شرطی در PHP برای انجام عملیات مختلف بر اساس شروط مختلف استفاده می شوند.

دستورات شرطی PHP

وقتی کد می نویسیم، می خواهیم برای وقوع شرط های مختلف، اقدامات مختلفی انجام دهیم. در این زمان می توان از عبارات شرطی در کد خود استفاده کرد.

در زبان PHP عبارات شرطی زیر وجود دارد:

عبارت if در PHP

دستور if قطعه کد را در صورت صحیح بودن یک شرط اجرا می کند. این دستور بصورت زیر نوشته می شود:

if (condition) {
    code to be executed if condition is true;
}
    

در مثال زیر خروجی اجرای کد عبارت “Have a good day!” خواهد بود، اگر زمان جاری (HOUR) کمتر از 20 باشد:

        <?php
        $t = date("H");
        
        if($t < "20"){
            echo "Have a good day!";
        }
        ?>
        
        

دستور if…else در PHP

دستور if…else قطعه کد را در صورتی اجرا می کند شرط دستور if صحیح باشد، در غیر اینصورت قطعه کد بعد از else را اجرا می کند.

if (condition) {
    code to be executed if condition is true;
} else {
    code to be executed if condition is false;
}

در مثال زیر خروجی اجرای کد عبارت “Have a good day!” خواهد بود، به شرط آنکه زمان جاری کامپیوتر کمتر از 20 باشد، در غیر اینصورت عبارت “Have a good night!” نمایش می یابد:

         <?php
        $t = date("H");
        
        if($t < "20"){
            echo "Have a good day!";
        }else {
            echo "have a good night!";
        }
        ?>
        

دستور if…elseif….else در PHP

دستور if…elseif….else کدهای مختلفی را برای بیشتر از دو شرط اجرا می کند. این دستور به قالب زیر نوشته می شود:

if (condition) {
    code to be executed if this condition is true;
} elseif (condition) {
    code to be executed if this condition is true;
} else {
    code to be executed if all conditions are false;
}

در مثال زیر خروجی “Have a good morning!” خواهد بود اگر زمان جاری کمتر از 10 باشد، اگر زمان جاری کمتر از 20 باشد، خروجی “Have a good day!” خواهد بود و در غیر اینصورت خروجی “Have a good night!” خواهد بود:

         <?php
        $t = date("H");
        
        if($t < "10"){
            echo "Have a good morning!";
        }elseif($t < "20") {
            echo "have a good day!";
        }else{
            echo "have a good night!";
        }
        ?>
        

نوع دیگر اجرای دستورات کنترلی(مثال):

    if ($i == 1):
        echo "i is 1";
        $i+=2;
        
    elseif ($i == 2):
        echo "i is 2";
        $i+=3;
        
    else:
        echo "is not 1 or 2";
        $i-=1;
        
    endif;
    

switch:

نحوه کار ساختار دستوری switch به صورت زیر است :
در ابتدای ساختار، یک عبارت یا expression داریم که در کد فوق با حرف n مشخص شده است. این عبارت معمولا یک متغیر بوده و در ابتدای اجرای ساختار یک بار سنجیده شده و مقدار آن در حافظه قرار می گیرد.
سپس مقدار عبارت با مقدار هر یک از Case های ساختار مقایسه می شود. اگر مقدار عبارت با هر یک از مقادیر Case ها یکسان بود، دستورات آن Case اجرا می شود. از دستور break در پایان هر Case، برای جلوگیری از ادامه اجرای سایر Case های ساختار استفاده می شود. اگر از break استفاده نکنیم، دستورات Case های بعد از Case ای که مقدار آن با متغیر ساختار برابر بوده است، نیز اجرا خواهد شد که معمولا نتیجه مورد نظر ما نیست.
در صورتی که مقدار عبارت n با مقدار هیچ یک از Case های ساختار switch برابر نباشد، دستورات بخش default اجرا خواهد شد.

مثال

در مثال زیر یک متغیر به نام $favcolor تعیین کرده ایم که مقدار اولیه red را خواهد داشت. سپس مقدار این متغیر با مقدارهای تعیین شده در هر Case مقایسه شده و دستور Case اول با مقدار red اجرا می شود.
به علت به کار بردن عبارت break در پایان تمامی دستورات Case ها، دستورات سایر Case ها اجرا نخواهد شد.

<?php
  $favcolor = "red";
  switch ($favcolor) {
    case "red":
        echo "Your favorite color is red!";
        break;
    case "blue":
        echo "Your favorite color is blue!";
        break;
    case "green":
        echo "Your favorite color is green!";
        break;
    default:
        echo "Your favorite color is neither red, blue, nor green!";
}
?>