我使用邏輯運算符來測試變量,但和&運營工作正常,但OR |和任何-OR ^總是如此。
爲什麼?「AND&」操作符正常工作,但「OR |」和非此即彼「^」總是爲真
$a = 6;
$b = 6;
if ($a OR $b == 3) {
echo 'true <br />';
}
else {
echo 'false <br />';
}
我使用邏輯運算符來測試變量,但和&運營工作正常,但OR |和任何-OR ^總是如此。
爲什麼?「AND&」操作符正常工作,但「OR |」和非此即彼「^」總是爲真
$a = 6;
$b = 6;
if ($a OR $b == 3) {
echo 'true <br />';
}
else {
echo 'false <br />';
}
的問題是與你的語法。
您需要分別查看錶達式。
if($a) OR if($b == 3)
是你在做什麼。
你想要的是:
if($a == 3 || $b == 3)
如果你看一下$a
本身,但不爲0的任意值將返回true
使得整個公式true
感謝OR
因爲您必須對OR進行布爾結果 - 您正在閱讀它太像英文。
if ($a == 3 || $b == 3)
而不是
if ($a OR $b == 3)
由於清除邏輯 –
它的優先級的問題 - 請參閱http://php.net/manual/en/language.operators.precedence.php瞭解更多詳情。
其他答案給你你需要的代碼。
$a = true
$b = true
if($a and $b) TRUE if both $a and $b are TRUE.
得益於清晰的邏輯 –
@SohailAhmad不客氣。 –