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

WBOY
WBOYオリジナル
2016-06-06 20:27:171127ブラウズ

$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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。