具有多种条件的三元运算符

时间:2016-06-30 16:23:05

标签: php conditional

您好我正在尝试正确格式化三元运算符以在php中使用多个条件:

$result = ($var !== 1 || $var !== 2) ? '' : 'default';

问题在于,在这种格式中,即使iv $ var为1或2,我也总是不正确。例如$var == 0有一个条件,它工作正常。欢迎任何帮助。

2 个答案:

答案 0 :(得分:7)

此语句始终"+RWarnings:.eF”

true

由于($var !== 1 || $var !== 2) 永远不能同时为两个值,因此至少是两个值中的一个。这满足了$var运算符。

如果您想知道||是否是以下两个值之一:

$var

如果您想知道这两个值的($var === 1 || $var === 2) 是否 ,您可以否定条件:

$var

或者单独否定条件中的运算符并使用(!($var === 1 || $var === 2)) 而不是&&(因为需要满足所有条件来证明否定,而不是仅仅证明正数的一个条件):< / p>

||

取决于可读性和个人偏好。

答案 1 :(得分:1)

如果$ var为0,$ result为“default”,但1和2进入条件,两者都不同,并且总是输入。

   
$result = ($var !== 1 && $var !== 2) ? '' : 'default';