Перебор многомерного массива. Сортировка ключей. Построение нового массива
Из базы данных приходит массив с именем директории и названием файла, который принадлежит конкретной директории. Задача сформировать новый массив, в котором не будет повторяющихся ключей и файлы будут находится в той директории, которой принадлежат. Вот, что приходит:
$array = [
0 => [
"directory" => "film",
"name" => "955898ab4e7edd4d6a159acd4a2db867.png"
],
1 => [
"directory" => "film",
"name" => "955898ab4e7edd4d6a159acd4a2db868.png"
],
2 => [
"directory" => "video",
"name" => "955898ab4e7edd4d6a159acd4a2db869.png"
],
3 => [
"directory" => "img",
"name" => "955898ab4e7edd4d6a159acd4a2db868.png"
],
4 => [
"directory" => "img",
"name" => "955898ab4e7edd4d6a159acd4a2db869.png"
]
];
Из этого нужно сделать:
$array = [
0 => [
"directory" => "film",
"name" => ["955898ab4e7edd4d6a159acd4a2db867.png", "955898ab4e7edd4d6a159acd4a2db869.png"]
],
1 => [
"directory" => "video",
"name" => ["955898ab4e7edd4d6a159acd4a2db869.png"]
],
2 => [
"directory" => "img",
"name" => ["955898ab4e7edd4d6a159acd4a2db868.png", "955898ab4e7edd4d6a159acd4a2db869.png"]
],
];
Помогите пожалуйста разобраться с построением массива. Не могу понять как сконструировать его, убрав лишние ключи и сформировать имена файлов исходя из принадлежности к директориям.
Источник: Stack Overflow на русском