日期:2014-05-16  浏览次数:20552 次

php最基本的 ++a 和 a++ 递增
<?php
   $a=3;
   echo $a++.'<br>';//3
   echo ++$a; //5
?>
 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已经等于2了,所以最后一步直接是++1,后面不会有++了
看下面这个例子

<?php 

$a = 1;

echo $a++; // 输出1  先输出$a ,然后再执行$a++,所以下面echo $a是2

echo $a; //输出2
//此时$a已经等于2
echo ++$a;//输出3  ++$a,先执行++运算,即3,然后再输出$a


------解决方案--------------------

<?php
   $a=3;
   //echo $a++.'<br>';
   //上面一句可以拆成
   echo $a;//3 先输出
   $a+1;//再运算得到$a=4
   
   //echo ++$a; 
   //上面一句可以拆成
   $a+1;//先运算$a=4再加1得到5
   echo $a;//5再输出
?>