Php 函数需要数组,但我想传递一个变量

Php 函数需要数组,但我想传递一个变量,php,arrays,parameters,parameter-passing,Php,Arrays,Parameters,Parameter Passing,我有一个PHP函数,它需要未知数量的数组作为参数 function cartesianProduct() { ... } 它期望我做这样的事情: cartesianProduct( array('blue', 'green', 'red'), array('apples', 'oranges', 'bananas') ); 但是我正在预先构建阵列,并且在传递它们时遇到困难。 例如: $arrs = array( array('blue', 'green', 'red'),

我有一个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
参数或以不同的方式调用函数,使函数认为我正在传递内部数组

谢谢,你可以用它来完成

$arrs = array(
    array('blue', 'green', 'red'),
    array('apples', 'oranges', 'bananas')
);

call_user_func_array('cartesianProduct', $arrs);

第一个参数是要调用的函数名,第二个参数是要传递给它的参数的索引数组。

看看这个参数-是的,是重复的。我不知道怎么解释自己,没关系。为了将来,人们应该问这个问题,因为它更一般。