在多个对象数组中查找重复的最有效方法?

时间:2017-11-08 13:34:55

标签: php arrays object

假设我有以下3个对象数组:

Array
(
[0] => stdClass Object
    (
        [id] => 1
        [name] => 'Michael',

    )

[1] => stdClass Object
    (
        [id] => 2
        [name] => 'Kim',
    )

[2] => stdClass Object
    (
        [id] => 3
        [Name] => 'George',
    )

)


Array
(
[0] => stdClass Object
    (
        [id] => 1
        [name] => 'Michael',

    )

[1] => stdClass Object
    (
        [id] => 2
        [name] => 'Kim',
    )

)


Array
(
[0] => stdClass Object
    (
        [id] => 1
        [name] => 'Michael',

    )
)

比较这3个对象数组并返回所有3个对象中最有效的对象是什么?在这个例子中,那将是Michael对象。

我有一些未知数量的数组,但是需要找到所有数组中出现的对象。

2 个答案:

答案 0 :(得分:1)

Php在功能上有一个功能,因此可能更快。

$result = array_intersect($array1, $array2, $array3);

编辑:首先,您必须将对象转换为数组。

get_object_vars($array1);

答案 1 :(得分:0)

循环遍历所有3个阵列,同时计算第4个阵列中每个ID的出现次数。在此之后,只需循环遍历新数组并报告任何数量为3的事件。