这个= +任务发生了什么?

时间:2013-07-28 23:23:05

标签: php operators assignment-operator

我意外地发现以下代码片段让我头疼了很长一段时间:

$sum = 0; $realSum = 0;

foreach (range(0,5) as $number) {
    $sum =+ $number;
    $realSum += $number
}

echo "Sum: $sum, RealSum: $realSum"; 
// prints 'Sum: 5, RealSum: 15'
?>

我想要的显然是+=语句,但不管怎样,PHP根本不会引发任何关于+=的错误或警告。我的IDE也没有抱怨它。

=+中的$sum =+ $number内容是什么?我在official documentation中找不到任何相关内容。

2 个答案:

答案 0 :(得分:4)

此标志是该号码的标志。因此,如果$number等于3,如果您放置-$number,则值为-3。

答案 1 :(得分:1)

$sum =+$number;

这个就像$ sum = 0 + $ number,它得到数组的最后一个值5

$realSum += $number;

但这个就像$ realSum = $ realSum + $ number