有效性和用法 =+ PHP

Validity and usage =+ in PHP

举个例子:

<?php

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

echo $i; // 5

这表明=+是一个赋值运算符。不过,这让我非常困惑,而且一点也不语义化。我花了几个小时调试一些东西,仅仅是因为我不小心使用了 =+ 而不是 +=。不过,前者不会引发错误。所以我很好奇:=+ 的用例是什么?您什么时候(需要)在简单的 = 上使用它?

=+ 不是运算符。将其视为

$i = +5;

相对于

$i = -5;

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

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

$i = +5;

PHP中的一元加号用于根据需要将$i转换为intfloat。由于 5 已经是一个 int,在这种情况下它是 identity,并且整个表达式在语义上等同于:

 $i = 5;

正如您提到的 += 是赋值运算符是正确的。

你的情况:

$i = 1;

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

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

没什么大不了的 =++= 这些是不同的。