【发布时间】:2017-01-28 16:56:58
【问题描述】:
PHP 函数 array_map(...) 期望回调作为第一个参数(或 null 用于 creating an array of arrays)和可变数量的数组参数,例如:
$foo => array_map(null, $bar, $buz);
现在我有一个案例,我需要将可变数量的数组传递给array_map(...)。我无法对此进行硬编码,因为array_map(...) 输入的数组是动态生成的。
function performSomeLogicAndGetArgumentsForMyFunction() {
...
return ['bar' => [...], 'buz' => [...]];
}
$foo = array_map(null, performSomeLogicAndGetArgumentsForMyFunction());
这种方式行不通,因为array_map(...) 需要可变数量的数组,而不是数组的数组。
有解决办法吗? 如何保持调用的灵活性并将可变数量的参数传递给array_map(...)?(它也适用于我无法操作的所有其他可变参数函数。)
【问题讨论】:
-
看看
call_user_func_array() -
谢谢你们!是的,当然,它只是一个数组,可以轻松解包/迭代。
-
对不起,我把问题表述错了。问题实际上在于“重新传递”参数,例如到
array_map(...)。我刚刚编辑了问题。 -
我已经更正/完全重写了这个问题。
标签: php ellipsis variadic variadic-functions