Я искал много тем SOF, и никто, кажется, не придерживался моей проблемы. Что за проводка, потому что это должен быть хорошо обсужденный вопрос:)
Может быть, я ищу не ту вещь ...
Сценарий:
У меня есть 2 массива
$a = [
['id' => 5, 'name' => 'bruce'],
['id' => 7, 'name' => 'wayne']
];
// 2 elements
и
$b = [
['id' => 6, 'name' => 'chuck'],
['id' => 8, 'name' => 'norris'],
['id' => 7, 'name' => 'wayne'] //also exists in array $a
];
// 3 elements
Моя цель
$c = [
['id' => 6, 'name' => 'chuck'],
['id' => 8, 'name' => 'norris'],
['id' => 7, 'name' => 'wayne'],
['id' => 5, 'name' => 'bruce']
];
// 4 elements (no duplicates)
Мне действительно все равно, какой порядок внутри массива (s) но я хочу объединить оба в один без дубликатов.
Я пробовал array_merge и array_merge_recursive . Никто не работает. Возможно, потому что функции не знают идентификатора, который идентифицирует каждую запись. Есть ли простое решение или мне действительно нужно создать собственный метод / функцию для этого?
Может быть есть закрытие, которое я мог бы использовать?