a++是先赋后加
++a是先加后赋
谁能一步一步告诉我为什么,我就把分一次性给他
回复讨论(解决方案) echo $a++相当于 :echo $a;$a += 1;
echo ++$a 相当于:$a += 1;echo $a;
也就是说:$a++是先使用变量值,后自增
++$a是先自增变量值,后使用。
打个比方可以吗?
也就是说
$a=1
echo $a++ //也就是说 1++??? 等于1
echo $++a //++1++ 等于3
打个比方可以吗?
也就是说
$a=1
echo $a++ //也就是说 1++??? 等于1
echo $++a //++1++ 等于3
你最后理解的是不对的,前两步执行完后,$a已经等于2了,所以最后一步直接是++1,后面不会有++了
看下面这个例子
echo $a++;
等价于:
echo $a;
$a = $a + 1;
echo ++$a;
等价于:
$a = $a + 1;
echo $a;