حالت دیگر نوشتن Switch

پرسیده شده
فعالیت 1226 روز پیش
دیده شده 506 بار
0

سلام وقت بخیر

یک حالت جایگزین یا 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.";
    }
فایل پیوست

1
حذف شده

سلام و احترام

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',
};
فایل پیوست

امیر صالحی

توسط

امیر صالحی

25 آذر 99

حذف شده
دقیقا خیلی خوب میشه تمام حالت های آلترناتیو در جلسات ذکر میشدن حالا چه برای PHP 7.4 و چه PHP 8 ...