如果使用
AND和
OR,最终将被如下所示绊倒:
$this_one = true;$that = false;$truthiness = $this_one and $that;
想猜得出什么
$truthiness相等吗?
如果您说
false… bzzzt,对不起,错!
$truthiness以上具有价值
true。为什么?
=具有比更高的优先级
and。添加括号以显示隐式顺序可以使这一点更加清楚:
($truthiness = $this_one) and $that
如果您使用
&&而不是
and第一个代码示例中的示例,它将可以按预期方式运行,并且为
false。
如以下注释中所述,这也可以获取正确的值,因为括号的优先级高于
=:
$truthiness = ($this_one and $that)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)