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

use*_*856 1 php parameters reference

这是功能:

public function func(&$parameters = array())
{
}
Run Code Online (Sandbox Code Playgroud)

现在我需要这样做:

$x->func (get_defined_vars());
Run Code Online (Sandbox Code Playgroud)

但那失败了.其他方式:

$x->func (&get_defined_vars());
Run Code Online (Sandbox Code Playgroud)

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

那怎么办呢?

Nik*_*kiC 6

get_defined_vars()返回一个数组,而不是一个变量.因为你只能通过引用传递变量,所以你需要写:

$definedVars = get_defined_vars();
func($definedVars);
Run Code Online (Sandbox Code Playgroud)

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