给定一个形式的数组$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 和回调)