php,我不能传递一个数组作为参考

时间:2011-11-11 07:58:28

标签: php parameters reference

这是功能:

public function func(&$parameters = array())
{
}

现在我需要这样做:

$x->func (get_defined_vars());

但是失败了。另一种方式:

$x->func (&get_defined_vars());

它丢弃了一个错误:在...中写入上下文中不能使用函数返回值。

然后怎么做?

3 个答案:

答案 0 :(得分:6)

get_defined_vars()返回一个数组,而不是变量。由于您只能通过引用传递变量,因此需要编写:

$definedVars = get_defined_vars();
func($definedVars);

虽然我没有真正看到通过引用传递数组的理由。 (如果你这样做是为了表现,不要这样做,因为它没有帮助。)

答案 1 :(得分:3)

public  function func(&$parameters = array())
{
}

未正确定义。

答案 2 :(得分:1)

尝试这种方式: -

call_user_func_array( 'func', $parameters );

有关详细信息,请参阅call_user_func_array() function documentation上的说明。