我想知道是否有办法在案例陈述中评估OR,例如:
case 0 || 3:
echo "equal to 0 or 3!";
break;
我试过了||不久之后它似乎对我不起作用,谷歌并没有证明是有帮助的
我只是想知道这个,因为有一些情况下,案件中的一个或一个操作员会非常有用......
任何帮助表示赞赏。
答案 0 :(得分:7)
你可以让案件失败。
case 0:
case 3:
echo "equal to 0 or 3!";
break;
许多风格指南不建议这样做。
答案 1 :(得分:1)
使用解析为布尔值的逻辑和比较运算符时,可以使用switch(true)
(或实际上,任何“true”值,因为switch
检查不严格)在您想要第一个true
案例的情况下。
switch(true){
case ($foo >= 0):
break;
case ($bar <= 0):
break;
case ($baz == 0):
break;
case ($foo > $bar && $bar < $baz):
break;
default:
break;
}
然而,有些语法替代方案可能更具可读性或提供更多控制。
正如@alex指出的那样,如果您希望将多个案例解析为相同的代码块,您可以将它们堆叠起来并让它们落实。