这个 =+ 作业是怎么回事?

What's going on with this =+ assignment?

提问人:likeitlikeit 提问时间:7/29/2013 更新时间:7/29/2013 访问量:72

问:

我不小心偶然发现了以下代码片段,这让我挠了很长一段时间的头:

$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

php 运算符 assignment-operator

评论

1赞 likeitlikeit 7/29/2013
@Sean不是错别字,我没有将其与.不过谢谢你的指点。=++=

答:

1赞 user1646111 7/29/2013 #1
$sum =+$number;

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

$realSum += $number;

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

评论

1赞 Andy G 7/29/2013
它不是,它只是数字的标志。0 + $number
0赞 7/29/2013
在数学中就是这样,我们假设零在那里,作业是正确的,我没有提到,因为我认为这只是平常的事情和基本的数学信息
1赞 likeitlikeit 7/29/2013
Joyas 的回答更有意义,因为 PHP 的“解释器”只接受 和 。我只是尝试作为 的简写,这会产生语法错误。谢谢你的提示。=+=-=* $number= 0 * $number
0赞 7/29/2013
这取决于 PHP,*number 为 true,php 应该假设 1*number 代替
4赞 Joyas 7/29/2013 #2

这个符号是数字的符号。因此,如果等于 3,则如果将 ,则值将为 -3。$number-$number

评论

0赞 likeitlikeit 7/29/2013
这是有道理的。我有点困惑为什么PHP会在作业后接受这个(多余的)。谢谢你清理了这个问题!+