int I = 3;
I = I + I++ + ++I;
以上代码在Java/C#/JavaScript中均输出11,但在PHP中却输出12,PHP的计算和替他三种有什么不同?百思不得其解,求指点!
++i是说在执行这个表达式之前i+1,i++是这个表达式执行之后i+1,所以整个的运算应该是 i = 4+3+4,但php我不太熟,所以不清楚是怎么运算的,Java/C#/Js都采用的是C语言的运算方法
怎么可能是 4+3+4 哪里来的4
@prison: 搞清楚了,PHP计算表达式中,同一个变量如果出现过多次,它的值由第二个参与计算的变量决定
$i = 3; $a = $i + $i++ + ($i+ ++$i); echo $i,'#',$a;//5#17,a=4+3+(5+5))
@prison: Java中是3+3+5,PHP中是4+3+5
Java中是3+3+5,PHP中是4+3+5
@灿飞屋: 我是反驳楼上 说java 是434的说法
i++的值的问题吧 前三种是 i = 3 + 3 + 5 后一种可能是 i = 3 + 4 + 5
Java中是3+3+5,PHP中是4+3+5
@灿飞屋: php学过一点点。回答的有误,sorry。
不是都很懂,只是觉得按“++”换成“+1”来说,以上应该是3+3+1+1+3与3+3+1+1+4,而PHP中i++将i值修改了?等大神
Java中是3+3+5,PHP中是4+3+5
运算符顺序的问题
前三种是3+4+4
楼主如果去用python语言去测试一下会发现答案是:9