Foreach从数组数据php循环到表中

时间:2013-02-06 00:23:49

标签: php multidimensional-array foreach

我有一个像这样的数组:var_export():

  

array(2009 => array('Jan'=> array('AMT'=>'79','QTY'=>   '886',),'Apr'=> array('AMT'=>'0','QTY'=>'1',),'May'=>   array('AMT'=> '19','QTY'=>'216',),'Jun'=>数组('AMT'=>   '5','QTY'=> '60',),'Sep'=>数组('AMT'=> '20','QTY'=>'196',   ),'Oct'=> array('AMT'=>'0','QTY'=>'1',),'Feb'=>阵列(   'AMT'=> 0,'QTY'=> 0,),'Mar'=>数组('AMT'=> 0,'QTY'=> 0,),   'Jul'=> array('AMT'=> 0,'QTY'=> 0,),'Aug'=>数组('AMT'=>   0,'QTY'=> 0,),'Nov'=> array('AMT'=> 0,'QTY'=> 0,),'Dec'=>   array('AMT'=> 0,'QTY'=> 0,),),2010 =>数组('Mar'=>数组(   'AMT'=> '12','QTY'=> '131',),'Apr'=>数组('AMT'=>'0','QTY'   => '1',),'Jun'=>数组('AMT'=>'6','QTY'=>'65',),'Jul'=> array('AMT'=> '24','QTY'=>'205',),'Aug'=>数组('AMT'=>   '20','QTY'=> '169',),'Sep'=>数组('AMT'=>'0','QTY'=>'1',   ),'Oct'=> array('AMT'=>'106','QTY'=>'1118',),'Nov'=>排列   ('AMT'=>'85','QTY'=>'902',),'Dec'=>数组('AMT'=>'0',   'QTY'=> '2',),'Jan'=> array('AMT'=> 0,'QTY'=> 0,),'Feb'=>   array('AMT'=> 0,'QTY'=> 0,),'May'=>数组('AMT'=> 0,'QTY'   => 0,),),2011 => array('Mar'=> array('AMT'=>'0','QTY'=>'3',),'Sep'=> array('AMT'=> '74', 'QTY'=>'582',),'Oct'=>   array('AMT'=>'6','QTY'=> '60',),'Nov'=>数组('AMT'=>   '46','QTY'=> '462',),'Jan'=>数组('AMT'=> 0,'QTY'=> 0,),   'Feb'=> array('AMT'=> 0,'QTY'=> 0,),'Apr'=>数组('AMT'=>   0,'QTY'=> 0,),'May'=> array('AMT'=> 0,'QTY'=> 0,),'Jun'=>   array('AMT'=> 0,'QTY'=> 0,),'Jul'=>数组('AMT'=> 0,'QTY'   => 0,),'Aug'=> array('AMT'=> 0,'QTY'=> 0,),'Dec'=>数组('AMT'=> 0,'QTY'=> 0,),),)

我一直在使用只有一个嵌套数组的数组,并在这样的表中显示我的数据:

foreach($results as $key => $element){
    echo "<tr>";
    foreach($element as $subkey => $subelement){
        echo "<td width='20%'>$subelement</td>";
    }
    echo "</tr>";
}

然而,现在我有一年(2009,2010,2011),我不知道如何进入我的桌子。在我刚刚展示月,Amt,Qty之前...因此上面的foreach。

我想像这样显示它:

年|月| Amt |数量

我试图在if语句中捕获年份,如果(2009){show $ subelement}类型的想法......

1 个答案:

答案 0 :(得分:2)

你可能需要一个外循环来循环这些年。假设您已经构建了表头,它可能如下所示:

foreach($results as $year => $year_data) {
    foreach ($year_data as $month => $month_data) {
        echo "<tr><td>$year</td><td>$month</td><td>{$month_data['AMT']}</td><td>{$month_data['QTY']}</td></tr>";
    }
}