0

我有一些数组叫做

$array[1]、$array[2] 等

$array[1] 类似于 array(1,2,3) 而 $array[2] 是某事。像 array(2,3,4) 现在我想要所有数组中的所有数字。

我想用

array_intersect($array[1],$array[2])

为了这。

但我可能有 2 个或 3 个或 4 个这个数组。是否可以创建一个类似的字符串

$list_of_array = $array[1],$array[2]; 

并制作一个

 $result = array_intersect($list_of_arrays) 

?

4

2 回答 2

1

对于具有可变数量数组的这种行为,您可以使用call_user_func_array

$array_list = array($array[1],$array[2],$array[3]);
$intersect = call_user_func_array('array_intersect',$aarray_list);

测试

$array_list = array(array(1,2,3), array(2,3,4,5), array(3,7,"a"));
$result = call_user_func_array('array_intersect',$array_list);
print_r($result);

退货

Array ( [2] => 3 )
于 2013-09-17T11:47:43.487 回答
1

是的,您可以使用call_user_func_array()

顾名思义,您可以使用此函数调用用户函数并将其与给定数组中的参数一起应用:

$result = call_user_func_array('array_intersect',$list_of_arrays);

这里,第一个参数是函数回调的名称,第二个是我们的数组。

假设您已经$array填充了输入数组,您可以执行以下操作:

$list_of_arrays = $array;
$result = call_user_func_array('array_intersect', $list_of_arrays);

输出:

Array
(
    [2] => 3
)

演示!

于 2013-09-17T11:47:46.330 回答