我可以写一个像这样的开关语句吗?
switch ($mood) {
case hungry :
case sad :
echo 'Eat a chocolate';
case sad :
echo 'Call Up your friend';
}
这是一个好习惯吗?
编辑:根据评论删除了break语句。
答案 0 :(得分: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;
}