提问人:likeitlikeit 提问时间:7/29/2013 更新时间:7/29/2013 访问量:72
这个 =+ 作业是怎么回事?
What's going on with this =+ assignment?
问:
我不小心偶然发现了以下代码片段,这让我挠了很长一段时间的头:
$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
答:
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会在作业后接受这个(多余的)。谢谢你清理了这个问题!+
下一个:运算符“or”的优先级和赋值
评论
=+
+=