Python提供了"*"运算符来解压缩元组列表并将它们作为参数提供给函数,如下所示:
args = [3, 6] range(*args) # call with arguments unpacked from a list
这相当于:
range(3, 6)
有谁知道在PHP中是否有办法实现这一点?一些谷歌搜索"PHP解包"的变化并没有立即出现任何东西..也许它在PHP中被称为不同的东西?
您可以call_user_func_array()
用来实现:
call_user_func_array("range", $args);
用你的例子.
在php5.6
该...
运营商已经加入.使用它,你可以摆脱call_user_func_array()
这个更简单的选择.例如具有功能
function add($a, $b){ return $a + $b; }
和你的数组$list = [4, 6];
(在php5.5之后你可以用这种方式声明数组).你可以打电话给你的函数...
:
echo add(...$list);
在某些情况下,您可能会考虑使用unpacking
,这在php中是可能的,与python类似:
list($min, $max) = [3, 6]; range($min, $max);
至少这就是我到达此答案的方式。谷歌搜索:PHP argument unpacking