Php 在另一个数组提供的新数组中插入键
我有以下循环:Php 在另一个数组提供的新数组中插入键,php,arrays,Php,Arrays,我有以下循环: for($column = 'A'; $column != $lastColumn; $column++) { for ($row = 2; $row <= 6; $row++) { $cell[] = $objWorksheet->getCell($column.$row)->getFormattedValue(); if($column == 'A') {
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);
}
}
}
for($column='A';$column!=$lastColumn;$column++){
对于($row=2;$row getCell($column.$row)->getFormattedValue();
如果($column=='A'){
$arrayTeste=array('A'=>$cell);
}否则{
$arrayTeste=array('B'=>$cell);
}
}
}
我想要的是:我想使用“cell”数组中的值创建一个具有键“a”的新数组。因为在我的代码的另一部分中,我只需要回显键“a”中的值。就像从DB索引回显时一样。示例:echo$array['a']。在第二部分中,我还需要一个foreach来打印所有数组,对吗?当前代码的问题是每次循环时都会覆盖
$arrayTeste
。这可以通过多维数组解决,如下所示:
if($column == 'A') {
$arrayTeste[$column][$row] = array('A' => $cell);
} else {
$arrayTeste[$column][$row] = array('B' => $cell);
}
只需将数据放入一个数组中,按列索引即可:
$cell = [];
for($column = 'A'; $column != $lastColumn; $column++) {
for ($row = 2; $row <= 6; $row++) {
$cell[$column][] = $objWorksheet->getCell($column.$row)->getFormattedValue();
}
}
这是行不通的。你在每次循环迭代中都会覆盖
arrayTeste
,当两个循环都退出时,只会得到最后一个值。请给出一个例子,我会帮助你为什么不使用rangeToArray()
已经内置到PHPExcel中的方法?谢谢大家的提示。有了Felippe的回复,我就可以完成这项工作了。
['A'] =>
[0] => 'cella1',
[1] => 'cella2',
['B'] =>
[0] => 'cellb1',
[1] => 'cellb2',
...