Всем привет!
Задача:
Есть исходный многомерный массив(прикладываю его часть):
$array = array (
'accessories' =>
array (
array (
'id' => 11,
'accessory_group_id' => 6,
'title' => 'Добор 2050*110*16',
'vendor_code' => '025-0079',
),
array (
'id' => 769,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 120 см',
'vendor_code' => '025-0123',
),
array (
'id' => 768,
'accessory_group_id' => 12,
'title' => 'Добор 2050*110*16',
'vendor_code' => '025-0079',
),
array (
'id' => 3464,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 70 см',
'vendor_code' => '025-0120',
),
array (
'id' => 3465,
'accessory_group_id' => 6,
'title' => 'Добор 2050*110*16',
'vendor_code' => '025-0079',
),
array (
'id' => 3466,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 90 см',
'vendor_code' => '025-0122',
),
),
);
В элементах массива 'accessories' есть ключ 'vendor_code' и его значение в некоторых элементах повторяется(в данном примере это элементы с индексами 0, 2 и 4) - условно назовем эти элементы "одинаковые". В этих "одинаковых" элементах значение ключа 'accessory_group_id' может повторяться(элементы с индексами 0 и 4).
Суть вопроса заключается в следующем:
как оставить в исходном массиве только элементы с уникальным значением ключа 'vendor_code', при этом в ключ 'accessory_group_id' добавить уникальные значения со всех "одинаковых" элементов через запятую?
Пример необходимого результата:
$result_array = array (
'accessories' =>
array (
array (
'id' => 11,
'accessory_group_id' => '6,12'
'title' => 'Добор 2050*110*16',
'vendor_code' => '025-0079',
),
array (
'id' => 769,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 120 см',
'vendor_code' => '025-0123',
),
array (
'id' => 3464,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 70 см',
'vendor_code' => '025-0120',
),
array (
'id' => 3466,
'accessory_group_id' => 6,
'title' => 'Карниз Тип-3 90 см',
'vendor_code' => '025-0122',
),
),
);
Подскажите, пожалуйста, как это сделать? Подойдёт любая помощь: алгоритм, псевдокод или готовый код...)
Заранее всем спасибо!