Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 中,运算符的问题 $a + $a++ 和 $a + $a + $a++ 都等于 3?

PHP 中,运算符的问题 $a + $a++ 和 $a + $a + $a++ 都等于 3?

WBOY
WBOYOriginal
2016-06-06 20:48:511133Durchsuche

$a = 1; 为何 $a + $a++$a + $a + $a++ 都等于 3? 图: PHP 中,运算符的问题 $a + $a++ 和 $a + $a + $a++ 都等于 3?

回复内容:

$a = 1; 为何 $a + $a++$a + $a + $a++ 都等于 3? 图: PHP 中,运算符的问题 $a + $a++ 和 $a + $a + $a++ 都等于 3?

又一个PHP操作符优先级的问题

具体请查阅:运算符优先级

第一种情况:

<code class="lang-php">$a = 1;
var_dump($a + $a++); 
</code>

此时$a++先运算;$a + $a++ 等价于:2 + 1 所以结果为3;

第二种情况:

<code class="lang-php">$a = 1;
var_dump($a + $a + $a++); 
</code>

此时从左至右运算,$a + $a 先运算,得出结果:2,并且将结果保存。 然后在运算$a++(此时前面已经计算好的$a+$a=2的值不受影响) ,以上等价于:2 + 1 结果依旧是3

最后,哪里来那么多这样无聊的坑爹的问题?

最最后 PHP 操作符优先级别真的很蛋疼!!!

Stellungnahme:
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