我有一个PHP函数,期望将未知数量的数组作为参数。
function cartesianProduct() { ... }
期待我做这样的事情:
cartesianProduct(
array('blue', 'green', 'red'),
array('apples', 'oranges', 'bananas')
);
但是我正在预先构建数组并且无法将它们传入。
例如:
$arrs = array(
array('blue', 'green', 'red'),
array('apples', 'oranges', 'bananas')
);
cartesianProduct($arrs);
以这种方式传入数组不起作用 - 显然它将它视为一个单独的数组参数。
如何'扩展'我的$arrs
参数或以不同的方式调用函数以使函数认为我正在传递内部数组?
由于
答案 0 :(得分:2)
您可以使用call_user_func_array来完成此任务。
$arrs = array(
array('blue', 'green', 'red'),
array('apples', 'oranges', 'bananas')
);
call_user_func_array('cartesianProduct', $arrs);
第一个参数是您要调用的函数名称,第二个参数是将传递给它的索引参数数组。