【发布时间】:2022-10-25 01:34:03
【问题描述】:
像标题一样,我有两个都包含对象的数组,如下所示:
array $a (size=2)
0 =>
object(A)
private '_id' => int 10
1 =>
object(A)
private '_id' => int 11
array $b (size=1)
0 =>
object(B)
private '_id' => int 10
我在这里所做的是我试图找出数组 $a 中的哪个项目在数组 $b 中不存在,在这种情况下它是 $a[1]。
循环两个数组都可以做到这一点,但我想看看是否有另一种更有效和优雅的方法。感谢您的任何建议!
【问题讨论】:
-
通常使用
array-udiff()函数:php.net/manual/en/function.array-udiff.php -
@arkascha 你介意再解释一下吗?我尝试了 array_udiff() 并且无法得到我想要的结果,这就是我所做的: function compare($a,$b){return ($a->id()!=$b->id() )?1:0;} var_dump(array_udiff($a,$b,'compare'));谢谢你。
-
我在下面发布了一个答案;-)
标签: php search multidimensional-array