Home >Backend Development >PHP Tutorial >php 引用计算 结果意外多1?

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

WBOY
WBOYOriginal
2016-06-06 20:27:171127browse

$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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn