Php 在多个对象数组中查找重复的最有效方法?
假设我有以下3个对象数组: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] =&
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);
全部循环,计算重复的次数,过滤结果,只留下所有数组中的结果。显示您迄今为止所做的工作我不知道您是否已经有一些代码要显示,但我想让其他人为您编写会非常有效:-)