2017-02-14 35 views
1

如何在PHP Excel中循环多维数组?Foreach PHPExcel中的多维数组

这是我的代码

$objWorkSheet = $this->excel->createSheet(1); //Setting index when creating 
    $colors = array(
     array("A1", "B1", "C1", "D1"), 
     array("A2", "B2", "C2", "D2"), 
     array("A3", "B3", "C3", "D3") 
    ); 

    $i = 2; 
    foreach ($colors as $values) { 
     $objWorkSheet->setCellValue('A'.$i++, $values[0]); 
     $objWorkSheet->setCellValue('B'.$i++, $values[1]); 
     $objWorkSheet->setCellValue('C'.$i++, $values[2]); 
     $objWorkSheet->setCellValue('D'.$i++, $values[3]); 
    } 

但它给了我这样的结果

enter image description here

我要的是A2 - D2将循环水平 然后下次还会A3 - D3再等等等等

已经阅读这个foreach multidimensional array,但仍然不能得到它。

回答

2

每个$i++递增$i的值。在第一个循环中,所有的值应该放在第二行然后第三行,依此类推。因此,您需要在将值放入各个单元格后将值增加。尝试 -

foreach ($colors as $values) { 
    $objWorkSheet->setCellValue('A'.$i, $values[0]); 
    $objWorkSheet->setCellValue('B'.$i, $values[1]); 
    $objWorkSheet->setCellValue('C'.$i, $values[2]); 
    $objWorkSheet->setCellValue('D'.$i, $values[3]); 
    $i++; 
} 
+0

哦,谢谢,工程 –

+0

的问题快速正确捕捉+ 1 –

+0

:)。如果解决了,请接受答案。 –