'&&'和'AND'在PHP中是不同的
这个问题在这里已经有了答案:
AND
具有较低的优先级。
$C = $A AND $B
将被解析为($C = $A) AND $B
对于变量$ a和$ b设置如下:
<?php
$a = 7;
$b = 0;
使用AND
的优点是短路评估发生在代码中,如下所示:
$c = $a AND $b;
var_dump( $c ); // 7
由于赋值运算符具有比AND更高的优先级,$ a的值被赋值给$ c; $ b会被跳过。
相反,请考虑以下代码:
<?php
$c = $a && $b;
var_dump( $c ); // (bool) false
在这个片段中, &&
比赋值运算符具有更高的优先级,并且给定$ a的值不为零,所以不存在短路。 逻辑“与”的结果基于对$ a和$ b的评估。 $ a评估为真,$ b为假。 表达式的整体值false是分配给$ c的值。 这个结果与之前的例子完全不同。
两者都具有相同的事物,但&&
比AND.
具有更高的优先级AND.
更多: - 'AND'和'&&'作为操作符
链接地址: http://www.djcxy.com/p/57613.html