【问题标题】:Validity and usage =+ in PHPPHP 中的有效性和用法 =+
【发布时间】:2016-12-13 05:59:15
【问题描述】:

举个例子:

<?php

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

echo $i; // 5

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

【问题讨论】:

    标签: php variable-assignment addition assignment-operator


    【解决方案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;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-17
          • 1970-01-01
          • 1970-01-01
          • 2022-11-16
          • 2013-08-16
          • 2011-12-31
          • 2011-02-13
          • 1970-01-01
          相关资源
          最近更新 更多