Fer*_*yer 30
只需迭代数组并为组使用另一个数组.它应该足够快,并且可能比使用sqlite或类似时所涉及的开销更快.
$groups = array();
foreach ($data as $item) {
$key = $item['key_to_group'];
if (!isset($groups[$key])) {
$groups[$key] = array(
'items' => array($item),
'count' => 1,
);
} else {
$groups[$key]['items'][] = $item;
$groups[$key]['count'] += 1;
}
}
Run Code Online (Sandbox Code Playgroud)
cha*_*aos 14
$groups = array();
foreach($items as $item)
$groups[$item['value']][] = $item;
foreach($groups as $value => $items)
echo 'Group ' . $value . ' has ' . count($items) . ' ' . (count($items) == 1 ? 'item' : 'items') . "\n";
Run Code Online (Sandbox Code Playgroud)