Есть 1 массив вида email => id. Содержит 10к+ элементов
$emails = [
'test1@email.ru' => 123,
'test2@email.ru' => 244,
'test3@email.ru' => 342,
// ...
];
Есть еще один массив, другого вида. Содержит также 10к+ элементов, но приходит частями по 100 элементов, т.е. чтобы получить целый массив придется складывать каждый пришедший.
$users = [
[
'id' => 34235,
'email' => 'test1@mail.ru',
'name' => 'Name 1'
],
[
'id' => 37855,
'email' => 'test2@mail.ru',
'name' => 'Name 2'
]
// ...
];
Надо сравнить эти массивы по email-адресу и получить 2 результирующих массива:
1. Массив пользователей из массива $users, которых нет в массиве $emails
2. Массив записей, из массива $emails, которых нет в массиве $users
Как лучше решить данную задачу?