Php - 如何从多维数组中找到常见元素?

时间:2016-09-14 11:36:38

标签: php

我有像这样的城市阵列

$city = array(
        array(1, 2, 3, 4),
        array(1, 2, 3, 4, 5),
        array(2, 3, 4, 5),
    );

我想要这样的结果:

$resulted_array=array(2,3,4);

我希望不使用递归函数

3 个答案:

答案 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()

快得多