Tôi có một số kết quả đáng ngạc nhiên khi sử dụng OR dưới dạng OR hợp lý trong php.
Xét đoạn mã sau:PHP HOẶC hành vi đáng ngạc nhiên
$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
Tại sao thử nghiệm 1 và thử nghiệm 2 cho kết quả khác nhau mặc dù họ làm các hoạt động logic giống nhau không?
Hoàn toàn, tôi ghét phải sống trong một thế giới nơi 'OR' và' || 'là cùng một điều –
Câu trả lời này cần liên kết: http://php.net/manual/vi /language.operators.precedence.php – sectus
@sectus cảm ơn. Làm xong. –