$a = 1;
$c = $a + $a++;
echo "c = ".$c."<br/>";$a = 1;
$i = $a + $a + $a++;
echo "i = ".$i."<br/>";怎么c和i的值一样...

解决方案 »

  1.   

    引自:http://weibo.com/1170999921/Adv0ntWHm?mod=weibotime第一个,$a++先计算,得到加法的右操作数1,同时$a的值变成2. 之后加法的计算就是2 + 1,得到3;第二个,按从左到右的顺序,$a+$a先算,得到结果2(这个结果应该存入了一个临时变量),然后计算$a++,得到1,(此时$a增加到2已经不影响左操作数了),于是最后一步仍然是2+1
      

  2.   

    $a = 1;
    $b = 1;
    $c = $a + $b++;
    echo "c = ".$c."<br/>";$a = 1;
    $b = 1;
    $i = $a + $a + $b++;
    echo "i = ".$i."<br/>";
    改了个方式,然后又结果变了。。
    我猜想是如果进行了数学运算,++则会不运算吧
      

  3.   

    php的官方手册中说明了的,++和+一起使用的时候,如何计算没有定义。