キーを爆発させた後、単純な配列から多次元配列を取得しようとしています。 私の配列は、名前が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を$ key => $ value){ list($ a、$ b)= explode( ' - '、$ key); $ new_array [$ a] [$ b] = $ value; } '? –
foreachループやarray_map/array_walk関数を使用して目的の出力を得ることができます –