2

論理演算子を使用して変数をテストしていますが、AND &演算子は正常に動作しますが、OR | また、Either-OR ^は常に true です。
なんで?

$a = 6;
$b = 6;

if ($a OR $b == 3) {
    echo 'true <br />';
}
else {
    echo 'false <br />';
}
4

4 に答える 4

3

ブール値の結果を OR する必要があるため、英語のように読みすぎています。

if ($a == 3 || $b == 3)

それよりも

if ($a OR $b == 3)
于 2013-06-28T12:00:14.477 に答える
3

これは優先順位の問題です。詳細については、 http://php.net/manual/en/language.operators.precedence.phpを参照してください。

他の両方の回答で、必要なコードが得られます。

于 2013-06-28T12:02:29.627 に答える
2
$a = true
$b = true
if($a and $b)   TRUE if both $a and $b are TRUE.

参照: http://php.net/manual/en/language.operators.logical.php

于 2013-06-28T12:03:05.983 に答える