交换机/案例不能正常运行PHP

I w*_*ce. 0 php switch-statement

我试图养成使用switch/case而不是if的习惯.我有以下几点:

                        switch($res['perm']){
                            case '0': $perm = "Invalid";
                            case '1': $perm = "Operator";
                            case '2': $perm = "Team Lead";
                            case '3': $perm = "Admin";
                            default: $perm = "Unknown - ".$res['perm'];
                        }
Run Code Online (Sandbox Code Playgroud)

哪里$res['perm'] = (int) 3..我试过没有单引号,但它仍然默认为"未知"..我做错了什么?

Abr*_*ver 11

你需要break离开switch或它总是会击中default:

switch($res['perm']){
    case '0': $perm = "Invalid"; break;
    case '1': $perm = "Operator"; break;
    case '2': $perm = "Team Lead"; break;
    case '3': $perm = "Admin"; break;
    default:  $perm = "Unknown - ".$res['perm'];
}
Run Code Online (Sandbox Code Playgroud)