Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将fputcsv结果的数组格式化为水平而不是垂直?_Php_Arrays_Fopen_Fputcsv - Fatal编程技术网

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

Php 如何将fputcsv结果的数组格式化为水平而不是垂直?,php,arrays,fopen,fputcsv,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的输出是水平的。eg 2015-01-01 | 2015-02-01 | 2015-03-01 我想要垂直的 2015-01

我的
$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的输出是水平的。eg

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");
这给出了相同的水平结果。我愿意更改阵列的样式/格式。无论什么都能完成任务。

写一行。对于多条线路,您需要拨打多个电话

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

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

请注意(根据Rizier123的评论),您需要将
$element
设置为一个数组。

如果您只需要每行一个值,为什么还要使用csv呢
fprint()
将更好地为您服务,而无需生成单值csv记录的开销。当我尝试获取
警告:fputcsv()期望参数2为数组,为每个“元素”@mike3875提供字符串:
fputcsv($fp,[$element])谢谢,这很有效。使用
[]
s执行此操作时,它的名称是什么?@mike3875它只是一个数组,因此您可以使用一个元素创建一个数组。它的语法与
array()
稍有不同shorter@mike3875这只是创建一个数组
[]
array()
做同样的事情-方括号语法从php5.4开始提供