php - 输出中的一些奇怪的行为?

时间:2014-01-17 03:53:39

标签: php

当发生这种情况时,我正在玩PHP。查看注释代码。

    <?php
     error_reporting(0); //turns of errors and notices (which will be shown otherwise)

     //here we would've gotten a notice saying $_ has no value, which is true. But PHP        automatically gives it the value 0, then we add one to it. ($_++), add $_ and add $_. So it's    1 + 1 + 1 which is two somehow
     echo ($_++ + $_ + $_);

所以我的问题是......为什么输出2?

1 个答案:

答案 0 :(得分:1)

大部分答案都包含在您的代码中。

$_最初为0。按$_++,您将$_增加,将其设置为1。因此,$_1,但后增量(!)$_++的值仍为0. ++$_的值为1.

然后,您添加两次$_1),总共产生2次。

有关详细的增量前/增量后比较,请参阅this SO post