php通过引用传递不工作

use*_*368 1 php reference pass-by-reference

我只是想通过尝试在php.net上找到的一些例子来理解PHP中的引用传递.我在php网站上找到了一个例子,但它不起作用:

function foo(&$var)
{
    return $var++;
}

$a=5;
echo foo($a); // Am I not supposed to get 6 here? but I still get 5
Run Code Online (Sandbox Code Playgroud)

这是一个在这里找到的例子

任何人都能告诉我为什么变量$ a我得到5而不是6?

Jon*_*Jon 6

您的代码和示例代码不一样.难道他们表现得与众不同吗?

要查看您期望的行为,您必须更改$var++++$var.

这里发生的是,虽然值$a 在函数返回之后6,返回的值是5,因为的递增运算符(如何$var++)的作品.您可以使用以下方法测试:

$a=5; 
echo foo($a); // returns 5
echo $a; // but prints 6!
Run Code Online (Sandbox Code Playgroud)