Heim > Artikel > Backend-Entwicklung > PHP中$a=1;$b=&$a;$c=(++$a)+(++$a)+(++$a); $c为啥等于10?
<code class="language-text">line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, 1
4 1 ASSIGN_REF !1, !0
5 2 PRE_INC $2 !0
3 PRE_INC $3 !0
4 ADD ~4 $2, $3
5 PRE_INC $5 !0
6 ADD ~6 ~4, $5
7 ASSIGN !2, ~6
6 8 SEND_VAR !2
9 DO_FCALL 1 'var_dump'
10 > RETURN 1
</code>
这可以说是PHP7以下版本的bug
怎么没人解释?难道7跟5就着点区别?
php7中,$a=1;$b=&$a;$c=(++$a)+(++$a)+(++$a);结果$c是9。php5中,结果就是10.
php5中: