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开始提供