我有一些令人驚訝的結果使用OR作爲邏輯或在PHP中。
考慮下面的代碼:PHP OR令人驚訝的行爲
$a = false;
$b = false;
$c = true;
# Test 1, using OR and assigning to a variable
$value = $a OR $b OR $c;
var_dump($value);
# return bool(false) but why?
# Test 2, using OR directly in var_dump
var_dump($a OR $b OR $c);
# return bool(true) as expected
# Test 3, using || and assigning to a variable
$value = $a || $b || $c;
var_dump($value);
# return bool(true) as expected
# Test 4, using || directly in var_dump
var_dump($a || $b || $c);
# return bool(true) as expected
爲什麼測試1和測試2給出不同的結果,即使他們做同樣的邏輯操作?
完全,我不想生活在一個世界裏'或'和''||是同一回事 –
這個答案需要鏈接:http://php.net/manual/en /language.operators.precedence.php – sectus
@sectus謝謝。完成。 –