🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ محمد عنبرستاني
حالت دیگر نوشتن Switch
جامعه پی اچ پی ایجاد شده در ۲۵ آذر ۱۳۹۹

سلام وقت بخیر

یک حالت جایگزین یا 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',
};
امیر صالحی ۲۵ آذر ۱۳۹۹، ۱۸:۱۷