2017-02-14 3 views
1

Wie kann ich mehrdimensionale Array in PHP Excel Schleife?Foreach mehrdimensionalen Array in PHPExcel

Dies ist mein Code

$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]); 
    } 

Aber es gibt mir dieses Ergebnis

enter image description here

Was ich A2 wollen - D2 schlingt mich horizontal dann nächster Wille A3 - D3 dann so weiter und so weiter

schon lesen Sie diese foreach multidimensional array aber immer noch nicht bekommen kann.

Antwort

2

Jeder $i++ erhöht den Wert $i. In der ersten Schleife sollten alle Werte in die 2. Reihe, dann in die 3. und so weiter gelegt werden. Sie müssen also den Wert erhöhen, nachdem die Werte in die entsprechende Zelle eingegeben wurden. Versuchen -

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

Oh Dank, dass –

+0

schnellen und korrekten Fang Problem funktioniert + 1 –

+0

:).. Bitte akzeptieren Sie die Antwort, wenn gelöst. –

Verwandte Themen