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

2022-08-30 19:55:16

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

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

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


答案 1

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

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

指纹:

Array
(
    [0] => This is a string
    [1] => First Element
    [2] => Second Element
    [3] => 3
)

评估这个。


如果你在参数中不使用splat运算符,你最终会像这样


答案 2

推荐