Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当将参数作为数组传递以调用_user_func_array()时,如何在一个数组中接收参数_Php_Oop - Fatal编程技术网

Php 当将参数作为数组传递以调用_user_func_array()时,如何在一个数组中接收参数

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这

我在第二个参数中以数组形式发送参数,但在接收函数中不能作为一个数组接收,我只能接收一个值作为一个变量,因此如果有3个参数,我在接收函数中定义了三个变量

 $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]);