我可以在PHP switch语句中使用逻辑“或”吗?

时间:2009-11-27 00:35:08

标签: php syntax switch-statement

是否可以在开关盒中使用“或”或“和”?这就是我追求的目标:

case 4 || 5:
    echo "Hilo";
    break;

5 个答案:

答案 0 :(得分:12)

不,但你可以这样做:

case 4:
case 5:
       echo "Hilo";
       break;

请参阅PHP manual

编辑:关于AND案例:switch只检查一个变量,所以这不起作用,在这种情况下你可以这样做:

switch ($a) {
  case 4:
    if ($b == 5) {
      echo "Hilo";
    }
    break;
  // Other cases here
}

答案 1 :(得分:4)

有效实现这一目标的方法是:

CASE 4 :
CASE 5 :           
    echo "Hilo";           
    break;

它被称为切换语句,具有通过。来自Wikipedia

“在C和类似构造的语言中,缺少断点关键字导致程序执行从一个块到下一个块的广泛使用被广泛使用。例如,如果n = 2,则第四个case语句将产生匹配下一行输出“n是偶数。”。执行继续通过接下来的3个用语句到下一行,输出“n是素数。”。此后的断行导致switch语句结束。如果用户键入多个数字,则执行默认块,产生错误消息。“

答案 2 :(得分:3)

不,我相信会评价为(4 || 5),这总是正确的,但你可以说:

case 4:
case 5:
    // do something
    break;

答案 3 :(得分:3)

你可以堆叠案例:

switch($something) {
   case 4:
   case 5:
       //do something
       break;
}

答案 4 :(得分:-2)

switch($a) {
    case 4 || 5:
        echo 'working';
        break;
}