Php 使用while循环进行分组
我的记录示例:Php 使用while循环进行分组,php,Php,我的记录示例: year quanitity name 2012 10 john 2012 20 mark 2013 30 david 2013 40 alex 2014 50 stacy while (!$report->EOF){ if(is_null($year) || $year <> $report->fields['year']) { $year
year quanitity name
2012 10 john
2012 20 mark
2013 30 david
2013 40 alex
2014 50 stacy
while (!$report->EOF){
if(is_null($year) || $year <> $report->fields['year']) {
$year = $report->fields['year'];
?>
<tr><td align="center" colspan="2" >Year : </td><td><?=$year ?></td></tr>
<?
}
?>
<tr><td align="center" colspan="2" >Quantity : </td><td><?=$report->fields['quanitity'] ?></td></tr>
<?
$report->MoveNext();
}
我想制作一份按年度分组的报告,并获得每年的总数,迭代您的数据,并将每个条目推送到其年度的bin:
$groupedData = [];
foreach($originalData as $item){
$groupedData[$item['year']][] = $item;
}
假设每个数组都有一个
year
键。感谢@john Conde更正我的帖子:)我强烈建议不要在回显html的同时执行分组逻辑。第一组,第二组显示您的html。您必须循环两次,但计算机的循环速度比调试代码的速度快。还有其他答案吗?
$groupedData = [];
foreach($originalData as $item){
$groupedData[$item['year']][] = $item;
}