<?php
$a = 10;
$b = ($a++) + (++$a);
echo $b;
?>
结果是 22
为什么呀
第三行的($a++) 本身是10,但如果只是这样的话打印的结果也为10(先运算再自增的),首先假设C=B+(A++),B首先看到的是A本身,因为运算式还没结束,那么它还会向后面找,再次碰见的是++,如果我们只是打印A本身的值是不会变的,但如果要打印C的值,A要进行自增后才是整个运算式C的值。
其次++a,表示先自增再运算,首先看到的是让a自增一次再计算运算式的表达式,但如果++a,单单要打印a值的话是要+1才能得出结果的,这就是2者区别,所以这个表达式的结果为22是对的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。