PHP开关" ||"不正常

时间:2015-04-10 19:28:24

标签: php switch-statement

在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;

2 个答案:

答案 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或类似值)