21,886
社区成员
发帖
与我相关
我的任务
分享
$a = 1;
$c = $a + $a++;
echo "c = ".$c."<br/>";
$a = 1;
$i = $a + $a + $a++;
echo "i = ".$i."<br/>";
$a = 1;
$b = 1;
$c = $a + $b++;
echo "c = ".$c."<br/>";
$a = 1;
$b = 1;
$i = $a + $a + $b++;
echo "i = ".$i."<br/>";
改了个方式,然后又结果变了。。
我猜想是如果进行了数学运算,++则会不运算吧第一个,$a++先计算,得到加法的右操作数1,同时$a的值变成2. 之后加法的计算就是2 + 1,得到3;第二个,按从左到右的顺序,$a+$a先算,得到结果2(这个结果应该存入了一个临时变量),然后计算$a++,得到1,(此时$a增加到2已经不影响左操作数了),于是最后一步仍然是2+1