2017-02-14 60 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

:)。如果解決了,請接受答案。 –