将数组传递给php中的varargs函数

时间:2017-01-28 06:58:15

标签: php php-7 variadic-functions

我有一个在PHP 7中定义的varargs类型方法

function selectAll(string $sql, ...$params) { }

我遇到的问题是,当我已经有一个数组时,有时我想调用这个方法,而我不能直接将数组变量传递给这个方法。

1 个答案:

答案 0 :(得分:14)

使用splat运算符解压缩数组参数,就像在函数中使用一样:

read(buffer)

所以这样:

selectAll($str, ...$arr);

<强>打印

function selectAll(string $sql, ...$params) { 
    print_r(func_get_args());
}

$str = "This is a string";
$arr = ["First Element", "Second Element", 3];

selectAll($str, ...$arr);

Eval

如果您不在参数中使用splat运算符,则最终会like this