如何在php中将数组绑定为参数?

如何在php中将数组绑定为参数?,php,Php,有没有一种方法可以正确地接受这样的论点 function xyz($x, $y, $z) { echo $x, $y, $z; } $arr = [1, 2, 3]; xyz($arr); 我希望将此数组中的值按顺序绑定为参数。如果您使用的是PHP5.6+,则可以使用..运算符: function xyz($x, $y, $z) { echo $x, $y, $z; } $arr = [1, 2, 3]; xyz(...$arr); 另请参见。如果您使用的是PHP5.6或更

有没有一种方法可以正确地接受这样的论点

function xyz($x, $y, $z) {

    echo $x, $y, $z;
}
$arr = [1, 2, 3];
xyz($arr);

我希望将此数组中的值按顺序绑定为参数。

如果您使用的是PHP5.6+,则可以使用
..
运算符:

function xyz($x, $y, $z) {
    echo $x, $y, $z;
}
$arr = [1, 2, 3];
xyz(...$arr);

另请参见。

如果您使用的是PHP5.6或更高版本,则可以使用splat操作符

function xyz($x, $y, $z) {
    echo $x, $y, $z;
}
$arr = [1, 2, 3];
xyz(...$arr);
使用如下列表:

function xyz($array) {
    list($x, $y, $c) = $array;
    echo $x, $y, $z;
}
$arr = [1, 2, 3];
xyz($arr);
另一种解决方案(不如
运算符优雅,但适用于所有php5/7版本):


虽然这个代码片段是受欢迎的,并可能提供一些帮助,但它将是如何以及为什么解决这个问题。记住,你是在将来回答读者的问题,而不仅仅是现在提问的人!请在回答中添加解释,并说明适用的限制和假设。
function xyz($x, $y, $z) {
    echo $x, $y, $z;
}
$arr = [1, 2, 3];
call_user_func_array('xyz', $arr);