Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多个对象数组中查找重复的最有效方法?_Php_Arrays_Object - Fatal编程技术网

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

Php 在多个对象数组中查找重复的最有效方法?,php,arrays,object,Php,Arrays,Object,假设我有以下3个对象数组: Array ( [0] => stdClass Object ( [id] => 1 [name] => 'Michael', ) [1] => stdClass Object ( [id] => 2 [name] => 'Kim', ) [2] => stdClass Object ( [id] =&

假设我有以下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对象


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

循环所有3个数组,同时计算第4个数组中每个ID的出现次数。接下来,只需在新数组上循环并报告计数为3的任何事件。

Php有一个内置函数用于此操作,因此速度可能更快

$result = array_intersect($array1, $array2, $array3);
编辑:首先,您必须将对象转换为数组

get_object_vars($array1);

全部循环,计算重复的次数,过滤结果,只留下所有数组中的结果。显示您迄今为止所做的工作我不知道您是否已经有一些代码要显示,但我想让其他人为您编写会非常有效:-)