دستور switch که یکی دیگر از دستورات شرطی می باشد را می توانید یک حالت دیگر از if-else در نظر بگیرید که با استفاده از این دستور می توان یک متغیر را با شرط ها بسیار زیادی مقایسه نمود ، دستور switch اینگونه نوشته می شوند :
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
|
<?php
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;
}
?>
|
همانطور که قطعه کد بالا را مشاهده نمودید ، ما یک متغیر را با دستور switch مورد شرط قرار می دهیم (n) سپس با استفاده از دستور case یک مقدار جایگذاری می کنیم که اگر n برابر با label1 بود دستورات ما اجرا شود و سپس با استفاده از دستور break از شرط خارج می شود و به همین صورت می توانید دستورات شرطی خود را با استفاده از case قرار دهید و در آخر یک گزینه پیش فرض (Default) می توانید قرار دهید که اگر متغیر شما برابر با هیچکدام از شرط ها نبود ، اجرا شود.
به مثال زیر توجه فرمائید :
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
|
<html>
<body>
<?php
$x=1;
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>
|
در قطعه کد فوق ، یک متغیر با نام x و مقدار یک قرار داده ایم ، سپس متغیر را با دستور switch مورد سرط قرار داده ایم ، سپس متغیر را با مقادیر ۱ و ۲ و ۳ مقایسه نموده ایم و در دستور default نیز یک مقدار پیش فرض قرار داده ایم ، هم اکنون اگر شما کد فوق را در xampp اجرا نمائید ، در خروجی Number 1 چاپ می شود زیرا متغیر ما برابر با یک بود.
- عبارت بعد از کلمه کلیدی case حتما باید یک عدد یا یک رشته متنی باشد.
- درون کلمه کلیدی case از عملگرها نمی توانید استفاده نمائید مثلا case 100>200
- اگر هیچ کدام از شروط صحیح نباشد ، دستور default اجرا می شود و اگر default نوشته نشده باشد ، دستور switch خیلی آروم و با آرامش خارج می شود.