我有以下收藏:
0 => "15.00",
1 => "25.00",
2 => "500.00",
3 => "19.00",
4 => "123.00",
...
我想以某种方式获取0到99之间,100到199之间,200到299之间的所有值的计数,以此类推,直到达到最大值。
有些馆藏可能多达300个,有些馆藏可能多达1000个。它们仍需要按100个一组进行计数。
答案 0 :(得分:0)
您可以使用mapToGroup
方法并使用除法来创建组。然后分别总结。
$grouped = $collection->mapToGroups(function ($item, $key) {
return [floor($item / 100) => $item];
});
此外,您可以退出使用Collection方法,而使用纯PHP。
$grouped = [];
foreach($array as $item) {
$grouped[floor($item / 100)][] = $item;
}
之后,只需使用array_sum()