что-то типа array_diff но в ООП?

Dzen

Новичок
Добрый день,

А существует ли в ООП что-либо навроде array_diff ?

Допустим у нас два массива:

один:

Array
(
[0] => stdClass Object
(
[Value] => 10
[Value2] => 14
[ID] => 555
)

[1] => stdClass Object
(
[Value] => 10
[Value2] => 14
[ID] => 666

)

)

второй:

Array
(
[0] => stdClass Object
(
[Value] => 10
[Value2] => 14
[ID] => 666

)

[1] => stdClass Object
(
[Value] => 10
[Value2] => 14
[ID] => 777

)

)

Различия в том, что в 1-ом массиве есть объект ID со значением 555, однако во втором массиве объекта ID с таким значением нет. И поэтому нам надо получить значение 555, как отсутствующее. С array_diff всё просто, но как быть когда речь об ООП?
Можно конечно пройтись по массивам, собрать ID и использовать array_diff, но может есть более простой и менее ресурсоёмкий вариант?
 

AmdY

Пью пиво
Команда форума
php умеет работать с объектами как с массивами.
 

Dzen

Новичок
Просто дело в том, можно ли сделать проще, без этих обходов:

PHP:
foreach ($array1 as $obj)

{
$array_obj1[] = $obj->ID;
}

foreach ($array2 as $obj)

{
$array_obj2[] = $obj->ID;
}

$rusultat = array_diff($array_obj1,$array_obj2);
 
Сверху