>我有一些数组叫做
$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)
?
对于数组数量可变的这种行为,您可以使用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 )
是的,您可以使用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
)
演示!