我想给一个数组元素赋值,该值是由一个带有引用参数的函数返回的。代码:通过函数返回引用分配数组值
function f(&$y) {
return $y;
}
$y = '';
$x = array(
'a' => 1,
'b' => 2,
'c' => f($y)
);
var_dump($x); // 'c' is empty
$y = 3;
var_dump($x); // 'c' is still empty
我很确定我在这种情况下得到了所有参考的东西都是错误的。即使我试图像function &f(&y) {}
那样通过引用返回,仍然不起作用。
[参考文献不是指针](http://php.net/manual/en/language.references.arent.php)。 – 2013-04-11 20:00:05
函数f()返回$ y的值,并在$ x数组中设置。 $ y的第二个赋值完全不影响这个。但是这个理论是制造还是你实际上想要实现某些目标? – 2013-04-11 20:00:27
您也需要通过参考返回。 – 2013-04-11 20:04:59