Php 当将参数作为数组传递以调用_user_func_array()时,如何在一个数组中接收参数
我在第二个参数中以数组形式发送参数,但在接收函数中不能作为一个数组接收,我只能接收一个值作为一个变量,因此如果有3个参数,我在接收函数中定义了三个变量Php 当将参数作为数组传递以调用_user_func_array()时,如何在一个数组中接收参数,php,oop,Php,Oop,我在第二个参数中以数组形式发送参数,但在接收函数中不能作为一个数组接收,我只能接收一个值作为一个变量,因此如果有3个参数,我在接收函数中定义了三个变量 $this->params[] = 'val1'; $this->params[] = 'val2'; call_user_func_array([$this->controller, $this->method], $this->params); 我希望数组在$param中,但在$param$param2这
$this->params[] = 'val1';
$this->params[] = 'val2';
call_user_func_array([$this->controller, $this->method], $this->params);
我希望数组在$param中,但在$param$param2这样的块中
public function index( $params )
{
echo "<pre>";
var_dump($param);
}
public function index( $param1, $param2 )
{
echo $param1;
echo $param2;
}
公共函数索引($params)
{
回声“;
var_dump($param);
}
公共功能索引($param1,$param2)
{
echo$param1;
echo$2;
}
解决问题的简单方法是将参数包装到另一个数组中:
然后它会将一个数组作为第一个参数传递给您的方法。只需将这些参数包装在另一个数组中:
call\u user\u func\u数组([$this->controller,$this->method],$this->params])代码>@MagnusEriksson您要回答还是关闭?看起来您有一个要发布的答案。是否可以使用call\u user\u func
?
call_user_func_array([$this->controller, $this->method], [$this->params]);