$arr
次の形式の配列が与えられます。
Array (
[0] => Array ([id] => id1, ...)
[1] => Array ([id] => id1, ...)
[2] => Array ([id] => id2, ...)
...
)
この foreach ループを使用します。
$rowsById = [];
foreach ($arr as $row) {
$rowsById[$row['id']][] = $row;
}
これを次の形式の配列に変換できます (ID をキーとする)。
Array (
[id1] => Array (
[0] => Array ([id] => id1, ...)
[1] => Array ([id] => id1, ...)
)
[id2] => Array (
[0] => Array ([id] => id2, ...)
)
...
)
同じことを foreach ループなしで行うことはできますか? (つまり、array_walk やコールバックなどの反復関数を使用)