PHP 中的有效性和用法 =+
Posted
技术标签:
【中文标题】PHP 中的有效性和用法 =+【英文标题】:Validity and usage =+ in PHP 【发布时间】:2016-12-13 05:59:15 【问题描述】:举个例子:
<?php
$i = 1;
$i += 2;
$i =+ 5;
echo $i; // 5
这表明=+
是一个赋值运算符。尽管如此,这对我来说还是很困惑,而且根本不是语义。我花了几个小时调试一些东西,只是因为我不小心使用了=+
而不是+=
。不过,前者不会引发错误。所以我很好奇:=+
的用例是什么。您何时会(需要)在简单的=
上使用它?
【问题讨论】:
【参考方案1】:正如你提到的 += 是一个赋值运算符是正确的。
在你的情况下:
$i = 1;
只需将值 1 分配给 $i
,然后当您的第二行执行 $i += 2;
时,只需将值 2 与现有值 $i
相加即可。
所以现在当您在第三行中使用$i =+ 5;
时,它重新分配变量$i
具有正值+5。
=+ 和 += 没什么大不了的,它们是不同的。
【讨论】:
【参考方案2】:=+
不是单个运算符。它的两个:赋值 (=
) 和一元加 (+
)。
如果你插入不同的空格,它会很明显:
$i = +5;
PHP 中的一元加号用于将$i
转换为int
或float
(视情况而定)。由于5
已经是一个int,在这种情况下它是identity,整个表达式在语义上等价于:
$i = 5;
【讨论】:
【参考方案3】:=+
不是运算符。把它想象成
$i = +5;
相对
$i = -5;
【讨论】:
以上是关于PHP 中的有效性和用法 =+的主要内容,如果未能解决你的问题,请参考以下文章