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

php foreach loop to array in specific format

我正在使用 php_xlsxwriter,它将 php 输出到 Excel。

他们 "what gets output" 的示例代码是:

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

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

因此,我正在将来自 ajax 调用的数据输入到此页面,其中包含我的数组,比如... 50 个元素,但我不知道如何编写 foreach 循环,以便它构建一个完整的列表。现在,它只是输出数组中的最后一个元素。

foreach ($xlString as &$c) {

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

  $data1 = array(

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

  );

}

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

在数组外声明 $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),

  );

}