Я пытаюсь получить многомерный массив из простого массива после взрыва ключей. Мой массив является результатом нескольких входов, где имя динамически создается из хеша md5 и фактического имени ввода. Мне нужно использовать строки md5 в качестве ключей и группировать относительные значения.Групповой массив по взорванной строке ключа
$old_array = [
'ec0e2603172c73a8b644bb9456c1ff6e-name' => 'Bruce',
'ec0e2603172c73a8b644bb9456c1ff6e-surname' => 'Wayne',
'ec0e2603172c73a8b644bb9456c1ff6e-city' => 'Gotham',
'84d961568a65073a3bcf0eb216b2a576-name' => 'Clark',
'84d961568a65073a3bcf0eb216b2a576-surname' => 'Kent',
'84d961568a65073a3bcf0eb216b2a576-city' => 'Metropolis',
//etc
];
Это то, что я хотел бы получить:
$new_array = [
'ec0e2603172c73a8b644bb9456c1ff6e' => [
'name' => 'Bruce',
'surname' => 'Wayne',
'city' => 'Gotham'
],
'84d961568a65073a3bcf0eb216b2a576' => [
'name' => 'Clark',
'surname' => 'Kent',
'city' => 'Metropolis'
]
];
Где трудность в чем-то, как основной, как '$ new_array = []; foreach ($ old_array as $ key => $ value) { list ($ a, $ b) = explode ('-', $ key); $ new_array [$ a] [$ b] = $ value; } '? –
вы можете сделать с помощью foreach loop или использовать функцию array_map/array_walk, чтобы получить желаемый результат –