首先看一段代码
<?php
$a = 1;
$c = $a + $a++;
echo $c;
你们会觉得$c是多少呢? 我想很多人的答案会是2 ;
但是经过编译器编译之后你会发现 $c = 3;
这是什么原因呢? php和c语言不同;
官方这里有段话http://www.php.net/manual/zh/language.operators.precedence.php
$a = 1;
echo ++$a + $a++; // may print 4 or 5
也就是说这里有可能输出4 也有可能输出5
正如上面的代码 有可能是2也有可能是3;
再看一段代码
<?php
$a = 1;
$c = $a + $a+ $a++;
echo $c;
这里$c =3 应该不难理解了;编译显示也是正确的.