/ / Foreach wielowymiarowa tablica w PHPExcel - php, tablice, tablica wielowymiarowa, foreach

Foreach wielowymiarowa tablica w PHPExcel - php, tablice, tablica wielowymiarowa, foreach

Jak mogę zapętlić tablicę wielowymiarową w PHP Excel?

To jest mój kod

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

Ale daje mi to wynik

wprowadź opis obrazu tutaj

To, czego chcę, to A2 - D2 będzie pętla w poziomie następnie A3-D3 następnie i tak dalej

już to przeczytałem foreach wielowymiarowa tablica ale wciąż nie mogę tego zdobyć.

Odpowiedzi:

2 dla odpowiedzi № 1

Każdy $i++ zwiększa wartość $i. W pierwszej pętli wszystkie wartości powinny być umieszczone w drugim rzędzie, a następnie w trzecim. Musisz więc zwiększyć wartość po umieszczeniu wartości w odpowiedniej komórce. Próbować -

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++;
}