'&&' and 'AND' is different in PHP
This question already has an answer here:
AND
has lower precedence.
$C = $A AND $B
will be parsed as ($C = $A) AND $B
.
For variables $a and $b set as follows:
<?php
$a = 7;
$b = 0;
the advantage of using AND
is short-circuit evaluation that occurs in code like the following:
$c = $a AND $b;
var_dump( $c ); // 7
Since the assignment operator has higher precedence than AND, the value of $a gets assigned to $c; $b gets skipped over.
Consider the following code in contrast:
<?php
$c = $a && $b;
var_dump( $c ); // (bool) false
In this snippet, &&
has a higher precedence than the assignment operator, and given the value of $a being non-zero, there is no short-circuiting. The result of this logical AND is based on the evaluation of both $a and $b. $a evaluates as true and $b as false. The overall value of the expression, false, is what gets assigned to $c. This result is quite different than in the prior example.
both have same thing, but &&
has higher precedence than AND.
for more:- 'AND' vs '&&' as operator
链接地址: http://www.djcxy.com/p/57614.html上一篇: 转储(真和假)为布尔(真)?
下一篇: '&&'和'AND'在PHP中是不同的