Php 我可以在一个开关中多次使用相同的大小写值吗

Php 我可以在一个开关中多次使用相同的大小写值吗,php,switch-statement,Php,Switch Statement,我可以这样写一个switch语句吗 switch ($mood) { case hungry : case sad : echo 'Eat a chocolate'; case sad : echo 'Call Up your friend'; } 这是一种好的做法吗 编辑:根据注释删除了break语句。从技术上讲,可以使用相同的值定义多个案例,但只会执行第一个案例。所以它几乎没有用 从文件中: PHP将继续执行这些语句,直到

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

   switch ($mood) {

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


    case sad : 
    echo 'Call Up your friend';

    }
这是一种好的做法吗


编辑:根据注释删除了break语句。

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

从文件中:

PHP将继续执行这些语句,直到开关块结束,或者第一次看到break语句为止

由于第一个案例中包含,因此不会执行更多案例,代码将退出
switch()

考虑以下代码:

$var = 'sad';

switch ($var) {
    case 'sad':
        echo 'First';
        break;
    case 'sad':
        echo 'Second';
        break;
}
这将首先输出

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

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

你可以,但这很奇怪,因为你永远不会得到第二个
sad
echo…但是如果没有中断!我怀疑它就在那里,正如在最初的帖子中提到的那样