php 引用计算 结果意外多1?
程序员文章站
2022-06-11 08:12:44
...
$a = 1;
$b=&$a;
echo (++$a) + (++$a) + (++$a)."\n"; //10
echo $b."\n"; //4
echo $a."\n"; //4
?>
完全不知道为什么,谢谢各位解答
回复内容:
$a = 1;
$b=&$a;
echo (++$a) + (++$a) + (++$a)."\n"; //10
echo $b."\n"; //4
echo $a."\n"; //4
?>
完全不知道为什么,谢谢各位解答
第一个(++$a)后,变量$a就成了2,
第二个(++$a)后,变量$a就成了3,
第一个(++$a)后,变量$a就成了4,
echo (++$a) + (++$a) + (++$a)."\n"; 就相当于是2+3+4
$b是引用的$a的地址,所以肯定也是4咯~~
这个似乎是php 5.x的bug
php 7运行没有问题
结果是9, 4, 4
php5.5 5.3 6 我都试过了,答案确实是10,4,4
推荐阅读