Передача массива в качестве параметров функции в PHP7.0 - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть следующая функция:

/**
 * @param \string[] ...$whitelist
 * @return Array
 */
public function whitelist(string ...$whitelist): Array
{
    // code
}

Как передать массив (например, $ arr = [$ val1, $ val2, ...]) в функцию?

Обратите внимание, что я не могу изменить структуру функции, поскольку она принадлежит стороннему классу, который я использую в своем коде.

1 Ответ

0 голосов
/ 26 сентября 2018
/**
 * @param \string[] ...$whitelist
 * @return Array
 */
public function whitelist(string ...$whitelist): Array
{
    // code
}

Вы передаете аргументы, разделяя их запятой, то есть функция whitelist принимает n аргументов.Вы используете оператор splat (https://lornajane.net/posts/2014/php-5-6-and-the-splat-operator). Итак, в вашем случае это может быть что-то вроде:

whitelist(...['Item 1', 'Item 2', 'Item 3']);
...