[英]php why does or operator return 0 as true
在以下代码中:
$a = 0 or 1;
$b = 0 || 1;
echo "$a, $b"; // 0, 1
为什么$a
等于零,我想or
和||
在PHP中是可以互换的吗? 是什么让or
语句返回0
?
我会假设两个结果都是1
,使它回显1, 1
。
这是因为PHP中的优先规则。 赋值=
运算符的优先级低于逻辑||
运算符,但优先级高于逻辑OR
运算符。 请参见此处: http : //php.net/manual/en/language.operators.precedence.php
这是因为优先顺序
// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;
// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)
$f = false or true;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.