开发者社区 问答 正文

自增或自减变量加减运算结束后结果为什么还要再进行一次自增或自减?

<?php
$a = 10;
$b = ($a++) + (++$a);
echo $b;
?>

结果是 22
为什么呀

展开
收起
小旋风柴进 2016-03-09 12:49:05 1803 分享 版权
1 条回答
写回答
取消 提交回答
  • 第三行的($a++) 本身是10,但如果只是这样的话打印的结果也为10(先运算再自增的),首先假设C=B+(A++),B首先看到的是A本身,因为运算式还没结束,那么它还会向后面找,再次碰见的是++,如果我们只是打印A本身的值是不会变的,但如果要打印C的值,A要进行自增后才是整个运算式C的值。
    其次++a,表示先自增再运算,首先看到的是让a自增一次再计算运算式的表达式,但如果++a,单单要打印a值的话是要+1才能得出结果的,这就是2者区别,所以这个表达式的结果为22是对的

    2019-07-17 18:55:48
    赞同 展开评论
问答分类:
PHP
问答地址: