在switch语句中,当我有一个“||”的情况它无法正常工作。
$get = 'item';
switch ($get):
case 'items' || 'several-items':
echo 'items';
break;
case 'item':
echo 'item';
break;
endswitch;
此代码输出items
。 这是一个php错误吗?
$get = 'several';
也输出items
。
所以问题肯定是'||'运算符,因为以下代码可以正常工作:
$get = 'item';
switch ($get):
case 'items':
case 'several-items':
echo 'items';
break;
case 'item':
echo 'item';
break;
endswitch;
答案 0 :(得分:3)
您不能在switch语句中使用OR(||
)和AND(&&
)运算符
答案 1 :(得分:0)
然后使用
case 'items':
case 'several-items':
echo 'items';
break;
相反,尤其是documented method to use
否则,您将针对“&{39;项目”的逻辑or
案例进行测试。和“'几个项目' (因为||
将始终具有优先权),这是一个布尔值false;并且你的$get
值将与布尔值false相匹配,除非它被强制转换为真值(即1item
或类似值)