Пытаюсь с помощью array_udiff получить разницу из массивов. Но на выходe постоянно пустой массив.
Нужно сравнить только по ID, но в итоге получать все значения как они были изначально.
Подскажите что не так.
class api {
private function arrayCompare($array1, $array2){
if ($array1["ID"] == $array2["ID"]) {
return 1;
} else {
return 0;
}
}
private function foo(){
$array1 = [
[0] => [
[ID] => 11111
[name] => ИМЯ
[photo] => Ссылка
]
[1] => [
[ID] => 22222
[name] => Другое Имя
[photo] => Другая ссылка
]
]
$array2 = [
[0] => [
[ID] => 11111
[name] => ИМЯ
[photo] => Ссылка
]
[1] => [
[ID] => 33333
[name] => Другое Имя
[photo] => Другая ссылка
]
]
array_udiff($array2, $array1, ['api', 'arrayCompare']);
}
}
Есть два списка. Один обновляется один раз в сутки, второй раз в пол часа. Нужно отслеживать ID людей которые добавляются или удаляются и выводить их в отдельный массив и ну далее записывать или как то обрабатывать еще. Порядок их может меняться в зависимости от даты обновления.