有效性和用法 =+ PHP
Validity and usage =+ in PHP
举个例子:
<?php
$i = 1;
$i += 2;
$i =+ 5;
echo $i; // 5
这表明=+
是一个赋值运算符。不过,这让我非常困惑,而且一点也不语义化。我花了几个小时调试一些东西,仅仅是因为我不小心使用了 =+
而不是 +=
。不过,前者不会引发错误。所以我很好奇:=+
的用例是什么?您什么时候(需要)在简单的 =
上使用它?
=+
不是运算符。将其视为
$i = +5;
相对于
$i = -5;
=+
不是单个运算符。它的两个:赋值 (=
) 和一元加号 (+
).
如果你插入不同的空格,它会变得很明显:
$i = +5;
PHP中的一元加号用于根据需要将$i
转换为int
或float
。由于 5
已经是一个 int,在这种情况下它是 identity,并且整个表达式在语义上等同于:
$i = 5;
正如您提到的 += 是赋值运算符是正确的。
你的情况:
$i = 1;
只需将值 1 分配给 $i
,然后当您的第二行执行 $i += 2;
时,它只需将值 2 与 $i
的现有值相加。
所以现在当你在第三行使用 $i =+ 5;
时,它 重新分配 变量 $i
为正值 +5。
没什么大不了的 =+ 和 += 这些是不同的。
举个例子:
<?php
$i = 1;
$i += 2;
$i =+ 5;
echo $i; // 5
这表明=+
是一个赋值运算符。不过,这让我非常困惑,而且一点也不语义化。我花了几个小时调试一些东西,仅仅是因为我不小心使用了 =+
而不是 +=
。不过,前者不会引发错误。所以我很好奇:=+
的用例是什么?您什么时候(需要)在简单的 =
上使用它?
=+
不是运算符。将其视为
$i = +5;
相对于
$i = -5;
=+
不是单个运算符。它的两个:赋值 (=
) 和一元加号 (+
).
如果你插入不同的空格,它会变得很明显:
$i = +5;
PHP中的一元加号用于根据需要将$i
转换为int
或float
。由于 5
已经是一个 int,在这种情况下它是 identity,并且整个表达式在语义上等同于:
$i = 5;
正如您提到的 += 是赋值运算符是正确的。
你的情况:
$i = 1;
只需将值 1 分配给 $i
,然后当您的第二行执行 $i += 2;
时,它只需将值 2 与 $i
的现有值相加。
所以现在当你在第三行使用 $i =+ 5;
时,它 重新分配 变量 $i
为正值 +5。
没什么大不了的 =+ 和 += 这些是不同的。