完全不知道为什么,谢谢各位解答 回复内容: $a = 1; $b=&$a; echo (++$a) + (++$a) + (++$a)."\n";">
输入banner图图片脚本导航/分类

php引用计算结果意外多1?

$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