我正在使用逻辑运算符来测试变量,但是和&运算符工作得很好,但是或和-OR ^都是正确的。
为什么?
$a = 6;
$b = 6;
if ($a OR $b == 3) {
echo 'true <br />';
}
else {
echo 'false <br />';
}发布于 2013-06-28 12:00:42
问题在于您的语法。
您需要分别查看表达式。
if($a) OR if($b == 3)就是你在做的事。
你想要的是:
if($a == 3 || $b == 3)如果您单独查看$a,除0以外的任何值都将返回true,使整个等式true由于OR而产生。
发布于 2013-06-28 12:00:14
因为你必须或布尔结果-你读它太像英语。
if ($a == 3 || $b == 3)而不是
if ($a OR $b == 3)发布于 2013-06-28 12:02:29
这是一个优先的问题-更多细节请参见http://php.net/manual/en/language.operators.precedence.php。
另外两个答案都给出了你需要的代码。
https://stackoverflow.com/questions/17364248
复制相似问题