扫码关注官方订阅号
$a=21; $b=$a++; $c=++$a; echo $a; echo $b; echo $c;
我理解的结果过是23 ,22,23,
但是输入的结果为什么是23,21,23 求解
业精于勤,荒于嬉;行成于思,毁于随。
这不是PHP的问题,程序语言都这样。$a++是先做运算再自增的,++$a是先自增再做运算
$a++
++$a
++前置就先自增 后置就后自增 具体拆开等价于下面这个:
$a = 21; //$b = $a++; $b = $a; $a++; //$c = ++$a; ++$a; $c = $a;
$a=21;$b=$a++; //这时 $a的值已经重新赋值为22了$c=++$a; //这时 $a的值已经重新赋值为23了echo $a; echo $b; echo $c;
$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
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这不是PHP的问题,程序语言都这样。
$a++
是先做运算再自增的,++$a
是先自增再做运算++前置就先自增 后置就后自增
具体拆开等价于下面这个:
$a=21;
$b=$a++; //这时 $a的值已经重新赋值为22了
$c=++$a; //这时 $a的值已经重新赋值为23了
echo $a;
echo $b;
echo $c;