3

我可以这样写一个switch语句吗?

   switch ($mood) {

    case hungry : 
    case sad : 
    echo 'Eat a chocolate';


    case sad : 
    echo 'Call Up your friend';

    }

这是一个好习惯吗?

编辑:根据评论删除了 break 语句。

4

1 回答 1

4

技术上可以定义具有相同值的多个案例,但只有第一个案例会被执行。所以它几乎没用。

switch()文档中:

PHP 继续执行语句,直到 switch 块结束,或者它第一次看到 break 语句。

由于第一个案例中有一个break,因此不会执行其他案例并且代码将退出该switch()块。

考虑以下代码:

$var = 'sad';

switch ($var) {
    case 'sad':
        echo 'First';
        break;
    case 'sad':
        echo 'Second';
        break;
}

这将输出First.

如果要在条件为 的情况下执行多个语句TRUE,则将它们添加到相同的情况下,如下所示:

switch ($var) {
    case 'sad':
        echo 'First';
        echo 'Second';
        break;
}
于 2013-11-13T13:49:52.290 回答