PHP为什么$a=10; $b=$a++; $c=++$b; 结果都是的11?

为什么结果都是的11?

$b=$a++这句说明将$a=10先赋值给$b之后再将$a+1所以,$b的值是10.$a的值是11.$c的值由$b先+1后复制,所以$c为11
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-14
因为$a++是先赋值后运算;而++在前的话,就是先运算再赋值!
第2个回答  2013-10-14
$a=10;
$b=$a++; (10+1) ++再赋值

$c=$b;
第3个回答  2018-04-04
其实就是一点你没有注意到:$a++不论赋值给谁,$a本身都会+1
当$b=$a++执行的时候$a=11,$b=10
当$c=++$b执行的时候同理,此时$b=11
所以$a,$b,$c的结果都是11
第4个回答  推荐于2018-04-04
1、++i 的用法(以 a=++i ,i=2 为例)

先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ),

则最终 a 值等于 3 , i 值等于 3 。

所以 a=++i 相当于 i=i+1 ,a=i

2、i++ 的用法(以 a=i++ ,i=2 为例)

先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ),

则最终 a 值等于 2 ,i 值等于 3 。

所以 a=i++ 相当于 a=i , i=i+1

3、++i 与 i++

a=++i 相当于 i++ , a=i

a=i++ 相当于 a=i , i++

4、++i 与 i++ 单独使用时,相当于 i=i+1

如果赋给一个新变量,则 ++i 先将 i 值加 1 ,而 i++ 先将 i 赋给新变量。本回答被网友采纳
相似回答