首页 > 刚入门php,请教一个运算符中$a++,++$a,$a--,--$a,的问题

刚入门php,请教一个运算符中$a++,++$a,$a--,--$a,的问题

$a=21;
$b=$a++;    
$c=++$a;     
echo $a;    
echo $b;    
echo $c;    

我理解的结果过是23 ,22,23,

但是输入的结果为什么是23,21,23 求解


这不是PHP的问题,程序语言都这样。$a++是先做运算再自增的,++$a是先自增再做运算


$a=21;               
$b=$a++;                //先return $b=a,再返回$a=$a+1 此时$b=21  $a=22;
$c=++$a;                //先$c=$a+1 再return$a=$a+1   此时$c=23, $a=23

$a=21;
$b=$a++; //这时 $a的值已经重新赋值为22了
$c=++$a; //这时 $a的值已经重新赋值为23了
echo $a;
echo $b;
echo $c;


++前置就先自增 后置就后自增
具体拆开等价于下面这个:

$a = 21;

//$b = $a++;
$b = $a;    
$a++;

//$c = ++$a;
++$a;
$c = $a;  
【热门文章】
【热门文章】