PHP:默认情况下切换?

use*_*016 19 php case break switch-statement

switch ($var) {
    case 0:
        // Do something...
        break;
    case 1:
        // Do something...
        break;
    default:
        // Do something...
        break;
}
Run Code Online (Sandbox Code Playgroud)

我见过有些人在默认情况下使用break.由于默认情况是触发时执行的最后一种情况,是否需要在那里休息?我猜它只是出于常规做法,还是有另一个原因?

Lus*_*ian 30

只要缺省值在switch语句的末尾,就没有理由要求它.请注意,默认情况不需要是最后一种情况:http://codepad.viper-7.com/BISiiD

<?php
$var = 4;
switch($var)
{
    default:
        echo "default";
        break;
    case 4:
        echo "this will be executed";
        break;
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为将默认设置放在交换机末端以外的任何地方是一种非常糟糕的做法.因为,正如它在PHP手册中所说的那样:"switch语句逐行执行(实际上是逐个语句).在开始时,没有代码被执行.只有当找到一个case语句时,其值的值与切换表达式PHP开始执行语句.PHP继续执行语句,直到switch块结束,或者第一次看到break语句." 所以默认情况下的任何情况都是误导性的. (11认同)