سلام وقت بخیر
یک حالت جایگزین یا syntactic sugar هم برای سویچ وجود داره که یک کد مثالی براش نوشتم در این روش بجای آکولاد از endswitch استفاده می کنیم:
<?php
$numOne=20;
$numTwo=10;
switch ($numTwo + $numOne):
case (40):
print "sum is 40";
break;
case (30):
echo "sum is 30";
break;
case ("somthing"):
echo "somthing else";
break;
default:
echo "nothing";
endswitch;
و نکته دیگه اینکه نیازی نیست حتما بعد از هر case یک break قرار بدید! ممکنه بخواین چندین کیس بررسی بشه و در نهایت یک سری کد براشون اجرا بشه:
<?php
$i = 5;
switch ($i) {
case 0:
echo '$i is 0.';
break;
case 1:
case 2:
case 3:
case 4:
case 5:
echo '$i is somewhere between 1 and 5.';
break;
case 6:
case 7:
echo '$i is either 6 or 7.';
break;
default:
echo "I don't know how much $i is.";
}
سلام و احترام
php 8 رو نصب کنید تا از match به جای switch استفاده کنید چون ساختار ساده و خواناتری داره.
switch:
switch ($statusCode) {
case 200:
case 300:
$message = null;
break;
case 400:
$message = 'not found';
break;
case 500:
$message = 'server error';
break;
default:
$message = 'unknown status code';
break;
}
match:
$message = match ($statusCode) {
200, 300 => null,
400 => 'not found',
500 => 'server error',
default => 'unknown status code',
};