php foreach循环到特定格式的数组

时间:2015-03-16 16:45:07

标签: php arrays foreach

我正在使用php_xlsxwriter,它接受​​php并将其输出到Excel。

他们的“输出内容”的示例代码是:

$data2 = array(
    array('2003','01','343.12'),
    array('2003','02','353.12'),
    array('2003','03','363.12'),
    array('2003','04','373.12'),
);

当然会将4行输出到Excel电子表格。由于某种原因,只有像这样写的数组才能成功输出。我尝试过以其他方式构建数组,但它会导致插件失败。

因此,我正在将ajax调用中的数据输入到此页面中,其中包含我的数组... 50个元素,但我无法弄清楚如何编写foreach循环以便它构建了一个完整的列表。现在,它只是输出数组中的LAST元素。

foreach ($xlString as &$c) {

  $s = $c[0];
  $p = $c[1];
  $l = $c[2];
  $a = $c[3]; 

  $data1 = array(

      array($s,$p,$l,$a),

  );

}

我理解为什么这是因为我每次运行$data1循环时都会覆盖foreach - 但我不知道如何更改代码我不这样做。

1 个答案:

答案 0 :(得分:1)

在数组外声明$ data,然后将结果作为循环中的新元素添加

$data = array()
foreach ($xlString as &$c) {

  $s = $c[0];
  $p = $c[1];
  $l = $c[2];
  $a = $c[3]; 

  $data1[] = array(

      array($s,$p,$l,$a),

  );

}