دستور switch در PHP
دستور Switch
برای انتخاب و اجرای یک دستور از بین چند دستور استفاده می شود.
این دستور در برخی موارد شباهت بسیار زیادی به دستورات if ... elseif ... else دارد.
دستور switch یک حالت خاص هم دارد به نام default که اگر هیچکدام از مقادیر درست نبود، آن قسمت اجرا می شود.
نحوه استفاده:
switch (n)
{
case label1:
code to be executed if n=label1;
break;
case label2:
code to be executed if n=label2;
break;
default:
code to be executed if n is different from both label1 and label2;
}
کد بالا چگونه کار می کند:
- case
از کلمه case بجای if else استفاده می کنیم و حالت مختلف شرط را در جلوی آن می نویسیم و سپس علامت ":" می گذاریم، در حقیقت اگر متغییر ما یعنی n برابر با مقدار مقابل case بود، نتیجه این می شود که باید دستورات مربوط به آن case اجرا شود، در غیر اینصورت case بعدی مقایسه می شود.
- break
دستور break یکی از بخشهای switch است که به مفسر PHP می فهماند که در کجا، قسمت case تمام می شود، در حقیقت از تداخل قسمتهای مختلف جلوگیری می کند. دقت کنید که شما هم باید آنرا قبل از شروع case بعدی بنویسید.
- default
اگر هیچکدام از مقادیر مقابل caseها با متغییر n برابر نبود، در این صورت دستورات مربوط به default اجرا می شود.
مثال:
<html>
<body>
<?php
$x=3;
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
خروجی کد بالا:
Number 3
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 26262
دیدگاهها
برای آرایه ها هم میشه از سوییچ کیس استفاده کرد؟
سلام.
در سوئیچ کیس شما باید از یک متغیر استفاده کنید. این متغیر میتونه خونهای از یک آرایه باشه، ولی اینکه کل آرایه باشه، خیر.
عبارات داخل کیس هم باید یک مقدار ثابت باشه، و نمیتونه مقایسهای باشه.
case هميشه بايد عدد باشه؟ تو مثال بالا ميگيم اگه x يك بود number 1 نوشته شه. فرض كنيد بخوايم بگيم اگه x بزرگتر از 10 بود ي دستور خاصي انجام بشه....اگه بزرگتر از 5 بود ي دستور ديگه اي انجام بشه....در اين صورت بايد چطور case رو تعيين كنيم؟
متأسفانه در دستور switch موارد فقط از لحاظ تساوی مقایسه می شوند.
:lol: