可以使用匿名函数回调分裂阵列的给定形式的数组$arr
:基于价值
Array (
[0] => Array ([id] => id1, ...)
[1] => Array ([id] => id1, ...)
[2] => Array ([id] => id2, ...)
...
)
使用此foreach循环:
$rowsById = [];
foreach ($arr as $row) {
$rowsById[$row['id']][] = $row;
}
我们可以把它转换为数组的形式(由IDS键控):
Array (
[id1] => Array (
[0] => Array ([id] => id1, ...)
[1] => Array ([id] => id1, ...)
)
[id2] => Array (
[0] => Array ([id] => id2, ...)
)
...
)
灿我们做同样的事情,但没有foreach循环? (也就是说,像array_walk和回调一些迭代函数)
这不起作用,结果数组对每个键都有一个值,而不是一个值数组。 – JRL 2012-07-07 17:04:05
@JRL你是对的,我正要修复它 – 2012-07-07 17:10:58
@JRL固定的,但必须有更好的方法... – 2012-07-07 17:14:44