在 php 中解压缩参数数组

2022-08-30 13:37:43

Python提供了“*”运算符,用于解压缩元组列表并将其作为参数提供给函数,如下所示:

args = [3, 6]
range(*args)            # call with arguments unpacked from a list

这等效于:

range(3, 6)

有谁知道是否有一种方法可以在PHP中实现这一点?一些谷歌搜索“PHP Unpack”变体并没有立即发现任何东西。也许它在PHP中被称为不同的东西?


答案 1

参数中,已添加通过...(splat运算符)解包。使用它,您可以摆脱这个更简单的替代方案。例如,具有函数:php5.6call_user_func_array()

function add($a, $b){
  return $a + $b;
}

使用数组(在 php5.5 之后,你可以以这种方式声明数组)。$list = [4, 6];

您可以使用以下命令调用您的函数:...

echo add(...$list);

答案 2

您可以使用 call_user_func_array() 来实现以下目的:

call_user_func_array("range", $args);以您的示例为例。


推荐