该案例主要考验我们的运算符优先级的问题:
++ --
* / %
+ -
< <= > >=
== != === !==
& |
&& ||
? :
= += -= *= %=
<?php
$a = 3;
$b = 5;
if($a=3 && $b=4){
$a+=$1;
$b+=1;
echo $a; //结果为2
echo '<br/>';
echo $b; //结果为5
}
?>
代码分析:
1. 在if语句中的$a=3 和 $b=4 都是赋值语句;
2. && 与运算符号的优先级要高于赋值运算符=;
3. 所以$a=3 && $b=4 可以改写为 $a=(3&&$b=4); //结果为true
4. 所以$a=$a+1 -->1+1=2
5. 所以$b=$b+1 -->4+1=5