array()中的CSV行需要保留换行符

时间:2011-07-21 19:01:01

标签: php csv newline fputcsv

我有一个以下格式的数组 - 它本质上是一个预先格式化的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,其中包含换行符并用记事本或类似内容中的双引号括起来但在Excel中打开时不会。

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

1 个答案:

答案 0 :(得分:0)

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