我有一个包含多个人物对象的数组,这些对象如下所示:
id: 1,
name: 'Max Muster',
email: 'max.muster@example.com',
language: 'German'
现在,我在另一个数组中有对象,它们看起来并不完全相同:
id: 1,
name: 'Max Muster',
email: 'max.muster@example.com',
language: 'de'
我有一个 foreach 循环来循环遍历数组 2 并检查对象是否存在于数组 1 中。
foreach($array2 as $entry) {
if(existsInArray($entry, $array1)) {
// exists
} else {
// doesn't exist
}
}
是否有一个函数可以检查(比如我的existsInArray()),如果我的对象存在于数组中?我只需要检查一下,如果 object-id 存在,其他属性无关紧要。
最佳答案
将对象放入数组时,使用对象 ID 作为键:
$array1[$object->id] = $object;
然后使用
isset($array1[$object->id])
检查对象是否已存在于 $array
:if (isset($array1[$object->id])) {
// object exists in array; do something
} else {
// object does not exist in array; do something else
}
关于php - 检查对象是否存在于数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37524969/