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 转换为intfloat(视情况而定)。由于5 已经是一个int,在这种情况下它是identity,整个表达式在语义上等价于:

 $i = 5;

【讨论】:

【参考方案3】:

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

$i = +5;

相对

$i = -5;

【讨论】:

以上是关于PHP 中的有效性和用法 =+的主要内容,如果未能解决你的问题,请参考以下文章

php curl_init函数用法

==和===在php中的用法[重复]

use关键字在PHP中的几种用法

Php中的goto用法

php中的cookie用法

php中的curl使用入门教程和常见用法实例