PHP 中的有效性和用法 =+

Validity and usage =+ in PHP

提问人:Bram Vanroy 提问时间:8/7/2016 更新时间:8/7/2016 访问量:50

问:

举个例子:

<?php

$i = 1;
$i += 2;
$i =+ 5;

echo $i; // 5

这表明这是一个赋值运算符。尽管如此,这让我非常困惑,而且根本没有语义。我花了几个小时调试一些东西,只是因为我不小心使用了 .不过,前者不会引发错误。所以我很好奇:用例是什么。你什么时候会(需要)在一个简单的?=+=++==+=

php 变量 添加 赋值运算符

评论


答:

3赞 Nils Werner 8/7/2016 #1

=+不是运算符。可以把它想象成

$i = +5;

与此相反

$i = -5;
0赞 Polygnome 8/7/2016 #2

=+不是一个单一的运算符。它有两个:赋值 () 和一元加 ()。=+

如果你插入不同的空格,它会变得很明显:

$i = +5;

PHP 中的一元加号用于转换为 或适当地转换。由于 already 是一个 int,因此在本例中它是标识,并且整个表达式在语义上等效于:$iintfloat5

 $i = 5;
0赞 Murad Hasan 8/7/2016 #3

正如你提到的,+= 是一个赋值运算符是正确的。

在您的情况下:

$i = 1;

只需将值 1 赋值给,然后当您的第二行执行时,只需将值 2 与现有值相加。$i$i += 2;$i

所以现在当你在第三行使用时,它会重新分配正值为 +5 的变量。$i =+ 5;$i

=++= 没什么大不了的,它们是不同的。