通过引用返回一个递增的变量


Return by reference a increased variable

我知道这是一个简单的例子,并且知道为什么返回21,但不明白为什么它以这种方式工作php:

    function increase(&$a) { 
       return $a++; // now i expect $a = 2, but return FIRST the reference (1), an increase later..? 
    }
    $a = 1; 
    $b = increase($a);
    echo $a.$b;

操作符和byRef?

$a++为后增量返回$a的旧值,而不是增加后的值。

++$a是预递增的,$a的值是递增的,并返回新的值。

在本例中,如果使用$a = 1而使用$a++,它将返回1,而如果使用++$a,它将返回2

$a初始值为1时,函数中的后增运算符告诉PHP返回1,然后将$a递增到2 ....因此,分配给$b的返回值为1;by-reference确保增加的$a是它在全局作用域中的新值。

然后将$a(现在是2)与$b (1)连接在一起,给出21