/ / Array multidimensional Foreach em PHPExcel - php, matrizes, array multidimensional, foreach

Foreach array multidimensional em PHPExcel - php, arrays, array multidimensional, foreach

Como posso fazer um loop array multidimensional no PHP Excel?

Este é o meu código

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

Mas isso me dá esse resultado

insira a descrição da imagem aqui

O que eu quero é que o A2 - D2 faça um loop horizontal então próximo será A3 - D3 então assim por diante e assim por diante

já leu isso foreach matriz multidimensional mas ainda não consigo entender.

Respostas:

2 para resposta № 1

Cada $i++ incrementa o valor de $i. No primeiro loop, todos os valores devem ser colocados na segunda linha, depois na terceira e assim por diante. Então você precisa incrementar o valor depois que os valores forem colocados na respectiva célula. Experimentar -

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