我有像这样的城市阵列
$city = array(
array(1, 2, 3, 4),
array(1, 2, 3, 4, 5),
array(2, 3, 4, 5),
);
我想要这样的结果:
$resulted_array=array(2,3,4);
我希望不使用递归函数
答案 0 :(得分:0)
$resulted_array = call_user_func_array('array_intersect',$city);
Array
(
[1] => 2
[2] => 3
[3] => 4
)
答案 1 :(得分:0)
这是我的工作示例 -
<?php
$arr = array(
array(1, 2, 3, 4),
array(1, 2, 3, 4, 5),
array(2, 3, 4, 5),
);
$intersect = call_user_func_array('array_intersect', $arr);
print_r($intersect);
?>
O / P
Array
(
[1] => 2
[2] => 3
[3] => 4
)
不需要功能。只有上面的代码才能满足您的要求。
答案 2 :(得分:0)
对于PHP 5.6及更高版本,您可以直接将array_intersect()
与...
token(在其他语言中也称为 splat operator )一起使用:
$city = array(
array(1, 2, 3, 4),
array(1, 2, 3, 4, 5),
array(2, 3, 4, 5),
);
$inter = array_intersect(...$city);
性能方面,这比call_user_func_array()