Heim > Backend-Entwicklung > PHP-Tutorial > i++的有关问题

i++的有关问题

WBOY
Freigeben: 2016-06-13 12:49:22
Original
1038 Leute haben es durchsucht

i++的问题
int I = 3;
I = I + I++ + ++I;
以上代码在Java/C#/JavaScript中均输出11,但在PHP中却输出12,PHP的计算和替他三种有什么不同?百思不得其解,求指点!


------解决方案--------------------
$i = 3;<br />
$a = $i + $i++ + ++$i;<br />
echo $a; //12<br />
Nach dem Login kopieren
这是 php 的一个 BUG
似乎所有的 php5 都有这个问题(至少我手边的3个版本是这样)
问题出在第一个 $i 传值方式上,如写作
$i = 3;<br />
$a = ($d=$i) + $i++ + ++$i;<br />
echo $a; //11<br />
Nach dem Login kopieren
就正确了
显然第一个 $i 传递的是引用,由于后边的 $i++ 实际参与运算的是 4,而不是 3

把  + ++$i 去掉就更清晰了
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage