首页 > 解决方案 > 从 PHP 中的另一个案例转到默认案例

问题描述

default有可能从像这样的其他案例中进入案例吗?

$a = 0;
$b = 4;
switch ($a) {
    case 0:
        if ($b == 5) {
            echo "case 0";
            break;
        }
        else
            //go to default
    case 1:
        echo "case 1";
        break;
    default:
        echo "default";
}

我试图删除else并期望它会继续评估所有后续案例,直到default它进入case 1那个时候。为什么会这样,我怎样才能获得默认值?

标签: phpswitch-statement

解决方案


是的,如果您重新排序case语句,您可以:

switch ($a) {
    case 1:
        echo "case 1";
        break;
    case 0:
        if ($b == 5) {
            echo "case 0";
            break;
        }
    default:
        echo "default";
}

为什么会这样:它是定义的,如果你没有一个break语句,下一个case将被执行。如果没有casedefault如果定义了一个,就会执行


推荐阅读