在 PHP7.0 中将数组作为函数参数传递

Passing array as function parameters in PHP7.0

我有一个函数如下:

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

如何将数组(例如 $arr = [$val1, $val2, ...])传递给函数?

请注意,我无法更改函数结构,因为它属于第三方class我正在我的代码中使用。

/**
 * @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']);