Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用while循环进行分组_Php - Fatal编程技术网

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;

}