在开关情况下可以使用" or“或"and”吗?这是我想要的:
case 4 || 5:
echo "Hilo";
break;
发布于 2009-11-27 00:37:10
不能,但你可以这样做:
case 4:
case 5:
echo "Hilo";
break;
请参阅PHP manual。
EDIT:关于AND case:开关只检查一个变量,因此这将不起作用,在这种情况下,您可以这样做:
switch ($a) {
case 4:
if ($b == 5) {
echo "Hilo";
}
break;
// Other cases here
}
发布于 2009-11-27 00:36:49
有效地实现这一点的方法是:
CASE 4 :
CASE 5 :
echo "Hilo";
break;
它被称为带有fall through的switch语句。来自Wikipedia:
在C语言和类似构造的语言中,由于缺少break关键字而导致程序从一个块到下一个块执行失败,这一点被广泛使用。例如,如果使用n=2,则第四个case语句将产生与控制变量相匹配的结果。下一行输出"n是偶数“。执行继续到接下来的三个case语句,并继续到下一行,输出"n是质数”。这之后的中断行导致switch语句结束。如果用户键入一个以上的数字,则执行默认的块,产生错误信息。
发布于 2009-11-27 00:37:18
不,我认为这将评估为(4 || 5),这始终是正确的,但您可以说:
case 4:
case 5:
// do something
break;
https://stackoverflow.com/questions/1806277
复制相似问题