'&&'和'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