0

我有一个以下格式的数组——它本质上是一个预先格式化的 CSV 行的数组——这个例子中的键 0 和 1 有一个包含换行符的 CSV 值。

Array
(
    [0] => 'foo,foo,foo,foo
    bar,foo,a:1:{i:0;s:4:"blah";}'
    [1] => 'bar,bar,bar,bar
    foo,bar,a:1:{i:0;s:4:"blah";}'
    [1] => 'bar,bar,bar,foo,bar,a:1:{i:0;s:4:"blah";}'
)

我接下来要做的就是将其\r\n用作胶水,生成 CSV 文件,然后将其写出来。问题是生成的文件不会将包含换行符的字段包含在双引号中,以便可以保留换行符(或者至少我假设它会保留)。

生成的 CSV 文件将上传到数据库或在 Excel 中编辑,并且需要在字段中保留换行符。

在分解为正确格式后使用 fputcsv 会生成一个 CSV,该 CSV 具有换行符并用双引号包裹在记事本或类似文件中,但在 Excel 中打开时不会。

  $parent_wholelines = array();
  foreach ($output_array as $wholeline) {
    $parent_wholelines[] = explode(',', $wholeline);
  }
4

1 回答 1

0

来自http://www.php.net/manual/en/function.fputcsv.php的一个片段,也许可以帮助你。或使用序列化:http: //php.net/manual/en/function.serialize.php

于 2011-07-21T19:04:00.490 回答