在另一个数组提供的新数组中插入键

时间:2016-06-13 20:18:07

标签: php arrays

我有以下循环:

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来打印所有数组,对吗?

2 个答案:

答案 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',
 ...