Как получить параметры в одном массиве при передаче аргументов в виде массива в call_user_func_array () - PullRequest
1 голос
/ 02 апреля 2019

Я отправляю параметры в виде массива во втором аргументе, но не могу получить как один массив в моей принимающей функции, я могу получить только одно значение как одну переменную, поэтому, если у меня есть 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;
  }

1 Ответ

3 голосов
/ 02 апреля 2019

Простое решение вашей проблемы - просто обернуть аргументы в другой массив:

call_user_func_array([$this->controller, $this->method], [$this->params]);

Затем он передаст массив в качестве первого аргумента вашему методу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...