نگاهی به درس گذشته
بیاید به آنچه در درس قبل آموختیم نگاهی بیاندازیم.
مثال
یک دستور 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"; }
- یک دستور سویچ شامل یک کلمه کلیدی
switch
است در واقع متغیری که باید مورد بررسی قرار گیرد! و یک جفت آکولاد{ }
. در این مثال ما مقدارmyNum$
را مورد بررسی قرار داده ایم. - سپس ما برای هر یک از مقایسه ها یک بلوک
case
داریم. برای مثال:case 1: echo "1"; break;
این تکه از کد بالا بررسی می کند که آیا متغیر
myNum$
برابر با عدد ۱ می باشد یا خیر؟ اگر جواب بله باشد عدد ۱،echo
می شود (عدد یک چاپ خواهد شد) و در انتها با استفاده از کلمهbreak
از دستور سویچ خارج می شود و بقیه بلوک ها بررسی نمی شوند - و اگر جواب خیر باشد
case
بعدی مورد بررسی و اجرا قرار می گیرد. - و اگر تمام
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>
بدون دیدگاه