آکادمی اسکیلدآپ
خودت رو ارتقا بده!

آموزش زبان PHP – درس سوم: بخش اول

دستور Switch

نگاهی به درس گذشته

بیاید به آنچه در درس قبل آموختیم نگاهی بیاندازیم.

مثال

یک دستور if/elseif/else بنویسید و آن را طوری بنویسید که یک خروجی دلخواه نیز داشته باشد.

نکته: حالت کلی دستور های if/elseif/else به صورت زیر است:

if (condition) {

} elseif (condition) {

} else {

}

حل مثال فوق:

<!DOCTYPE html>
<html>
    <head>
		<title></title>
	</head>
	<body>
    <?php
        $num=50;
    if($num == 51){
          echo "equal to 51";
        } elseif ($num == 43) {
            echo "equal to 43";
            } else {
             echo " not equal to 50 or 43";   
            };
    ?>
    </body>
</html>
شروع کار با دستور Switch

در کد زیر شما یک دستور ساده ی Switch را مشاهده می کنید. دستور سویچ زمانی کاربرد پیدا می کند که شما قصد دارید یک سری طولانی از دستور if/elseif/else را همراه با قرار دادن چندین حالت مختلف، بنویسید که همگی به یک مقدار خاص وابسته باشند. به عبارت دیگر وقتی شما سعی دارید برای یک مقدار (حالت) خاص چند شرط مختلف را بررسی کنید دستور سویچ کاربرد پیدا می کند. درواقع درک کد های سویچ و خواندن آنها ساده است، سویچ بسیار به دستور if شباهت دارد ، در یک سویچ اگر یک شرط صحیح باشد یک بلوک از کد برای آن اجرا می شود.

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    switch (2) {
        case 0:
            echo 'The value is 0';
            break;
        case 1:
            echo 'The value is 1';
            break;
        case 2:
            echo 'The value is 2';
            break;
        default:
            echo "The value isn't 0, 1 or 2";
    }
    ?>
    </body>
</html>
تمرین ۱:

سعی کنید خروجی کد بالا را قبل از آنکه در PHPStorm آن را آزمایش کنید ، پیدا کنید.

ساختار دستور سویچ

دستور switch مشابه دستور if / elif / else می باشد با این تفاوت که در آن می توانید چندین شرط را مورد بررسی قرار دهید. ساختار کلی این دستور بصورت زیر است:

$myNum = 2;

switch ($myNum) {
    case 1:
        echo "1";
        break;
    case 2:
        echo "2";
        break;
    case 3:
        echo "3";
        break;
    default:
        echo "None of the above";
}
  1. یک دستور سویچ شامل یک کلمه کلیدی switch است در واقع متغیری که باید مورد بررسی قرار گیرد! و یک جفت آکولاد { } . در این مثال ما مقدار myNum$ را مورد بررسی قرار داده ایم.
  2. سپس ما برای هر یک از مقایسه ها یک بلوک case داریم. برای مثال:

    case 1: echo "1"; break;

    این تکه از کد بالا بررسی می کند که آیا متغیر myNum$ برابر با عدد ۱ می باشد یا خیر؟ اگر جواب بله باشد عدد ۱، echo می شود (عدد یک چاپ خواهد شد) و در انتها با استفاده از کلمه break از دستور سویچ خارج می شود و بقیه بلوک ها بررسی نمی شوند

  3. و اگر جواب خیر باشد case بعدی مورد بررسی و اجرا قرار می گیرد.
  4. و اگر تمام case ها اشتباه باشد (تمام جواب ها خیر باشد) بلوک default اجرا خواهد شد.
تمرین ۲:
<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $fruit = "Apple";
    
    switch ($fruit) {
        __ 'Apple':
            echo "Yummy.";
            __;
    }
    
    ?>
    </body>
</html>

در خط ۱۰ یک دستور سویچ وجود دارد:

الف) با توجه به مثال درس بخش های __ را با کد های صحیح پر کنید.

ب) بلوک default را نیز اضافه کنید.

حل تمرینات:
خروجی تمرین اول:

The value is 2

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $fruit = 'Apple';
    
    switch ($fruit) {
        case 'Apple':
            echo "Yummy.";
            break;
        default:
            echo "not an apple";
    }
    
    ?>
    </body>
</html>

 

ارسال یک پاسخ