【发布时间】:2020-12-19 23:38:18
【问题描述】:
php > $a = 4;
php > echo $a+++$a++;
php > 9
为什么结果等于9 而不是8?
a++ 将增加$a 的值,但返回我在增加之前持有的原始值。所以$a++返回4和$a返回4,结果应该是8 = 4 + 4?
【问题讨论】:
标签: php
php > $a = 4;
php > echo $a+++$a++;
php > 9
为什么结果等于9 而不是8?
a++ 将增加$a 的值,但返回我在增加之前持有的原始值。所以$a++返回4和$a返回4,结果应该是8 = 4 + 4?
【问题讨论】:
标签: php
您第一次从 $a++ 获得返回值时,该值将是 4。但第二次将是 5,因为您之前已经增加了它:
9 = 4 + 5
$a 的最终值为 6,因为它增加了两次。
【讨论】:
$a++ 运算符,所以先评估哪个并不重要。最终结果将是 4 + 5 或 5 + 4,无论哪种方式答案都是 9。更详细地说,$a++ 是一个“后增量”,它将首先返回 $a 然后递增。结果,公式变为echo $a + ($a + 1)。第一个$a++ 将在递增之前返回值$a,第二个$a++ 将返回$a + 1,因为$a 已递增一次。