我有以下循环:
for($column = 'A'; $column != $lastColumn; $column++) {
for ($row = 2; $row <= 6; $row++) {
$cell[] = $objWorksheet->getCell($column.$row)->getFormattedValue();
if($column == 'A') {
$arrayTeste = array('A' => $cell);
} else {
$arrayTeste = array('B' => $cell);
}
}
}
我想要的是:我想使用'cell'数组中的值创建一个带有键'A'的新数组。因为在我的代码的另一部分,我需要只回显'A'键中的值。就像从数据库索引回显一样。示例:echo $ array ['A']。同样在第二部分中,我需要一个foreach来打印所有数组,对吗?
答案 0 :(得分:2)
您当前代码的问题在于,每次进行循环时,您将覆盖$arrayTeste
。这可以通过多维数组解决,如下所示:
if($column == 'A') {
$arrayTeste[$column][$row] = array('A' => $cell);
} else {
$arrayTeste[$column][$row] = array('B' => $cell);
}
答案 1 :(得分:1)
只需将数据放入数组中,并按列编制索引:
$cell = [];
for($column = 'A'; $column != $lastColumn; $column++) {
for ($row = 2; $row <= 6; $row++) {
$cell[$column][] = $objWorksheet->getCell($column.$row)->getFormattedValue();
}
}
输出类似于:
['A'] =>
[0] => 'cella1',
[1] => 'cella2',
['B'] =>
[0] => 'cellb1',
[1] => 'cellb2',
...