是否存在与python func(*[array])
功能等效的PHP,以将该数组用作函数的一系列参数?我似乎无法在网上找到一个。
Python中的用法示例:
def f(a,b):
print(a, b)
f('abc', 'def')
f(*['abc', 'def'])
输出
abc def
abc def
提前感谢您的帮助。
编辑:这与this不同,因为该问题想要使用数组作为参数,而我想将数组用作一系列参数。
答案 0 :(得分:4)
" ..."是Argument unpacking,可以在函数定义或调用中使用
<?php
function add($a, $b) {
return $a + $b;
}
echo add(...[1, 2])."\n";
$a = [1, 2];
echo add(...$a);
给定...array()
作为函数参数,将调用中的(剩余)参数收集到数组变量中:
<?php
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4);
答案 1 :(得分:2)
在PHP&lt; 5.6即call_user_func_array('f', ['abc', 'def']);
在5.6+中,您可以改为f(...['abc', 'def']);
。