我是PHP的NOOB,正在尝试弄清楚SWITCH语法。 我知道如何做如下的case语句:
$numbr = 2;
switch ($numbr) {
case 2:
echo "numbr is equal to 2";
break;
case 1:
echo "numbr is 1";
break;
}
,但是如果我改用它(检查大于1的数字),它将中断。我在做什么错了?
$numbr = 2;
switch ($numbr) {
case >1:
echo "numbr is greater than 1";
break;
case 1:
echo "numbr is 1";
break;
}
答案 0 :(得分:1)
if($numbr > 1) {
echo "numbr is greater than 1";
} else if($numbr == 1) {
echo "numbr is 1";
}
在将一个值与许多其他值进行比较时,最有用的是开关,而不是将值与数学表达式或逻辑进行比较。
在可能的情况下,使用switch比使用if语句更好,因为switch语句仅被评估一次,而if语句针对每个if()
被评估。
答案 1 :(得分:1)
您不能以此为例,必须有一个值。
一个好的解决方案可能是这个,但是仅对于正值:
$numbr = 2;
switch ($numbr) {
case 0:
break;
case 1:
echo "numbr is 1";
break;
default:
echo "numbr is greater than 1";
break;
}
如果您还想处理负值,则需要使用if / else,如其他人所述