如何格式化数组fputcsv结果是水平而不是垂直?

时间:2015-04-02 14:15:05

标签: php arrays fopen fputcsv

我的$array在浏览器的源代码中看起来像这样;

Array(
  [0] => 2015-01-15
  [1] => 2015-02-15
  [2] => 2015-03-15
)

我将此代码导出到csv文件的代码是;

$fp = fopen("file.csv", "w");
fputcsv($fp, $array)
fclose($fp);

csv的输出是水平的。例如;

2015-01-01 | 2015-02-01 | 2015-03-01

我想要它垂直;

2015-01-01
2015-02-01
2015-03-01

我不知道该怎么做。我尝试添加;

$fp = fopen("file.csv", "w", $delimiter = ',', $enclosure = '"');

它不起作用。我尝试创建一个不同的数组来测试;

$array = array("2015-01-01", "2015-02-01", "2015-03-01");

这给出了相同的横向结果。我愿意改变我的阵列的样式/格式。无论做什么都可以完成。

1 个答案:

答案 0 :(得分:3)

fputcsv()写了一句话。对于多行,您需要进行多次调用。

如果数组中的每个元素都在一个新行上,只需迭代数组:

   $fp = fopen("file.csv", "w");
    foreach($array as $element)
        fputcsv($fp, array($element));
    fclose($fp);

注意(根据Rizier123的评论)你需要使$element成为一个数组。