【发布时间】:2013-04-11 19:57:38
【问题描述】:
我想为一个数组元素赋值,该元素由一个带有引用参数的函数返回。代码:
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) {})返回,仍然无法正常工作。
【问题讨论】:
-
函数 f() 返回 $y 的值,并在 $x 数组中设置。 $y 的第二次分配根本不会影响这一点。但这个理论是在精心设计,还是您实际上是在尝试实现某些目标?
-
您也需要通过引用返回。
标签: php pass-by-reference