[英]Save data array to CSV file
我需要将数据数组保存到CSV文件。 问题如下:打开CSV文件时,看到数组的0行与标题保存在同一行。 标头的最后一列还包含0,即“ www0”。 如何避免这种情况?
header("Content-type: text/csv");
header("Pragma: no-cache");
saveCSV($solutionCSV);
function saveCSV($data) {
$outstream = fopen("schedule.csv", "a");
$headers = 'xxx, yyy, zzz, www';
fwrite($outstream,$headers);
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals);
}
array_walk($data, "__outputCSV", $outstream);
fclose($outstream);
}
标头后需要换行符。 请注意从单引号到双引号的更改以启用转义。
$headers = "xxx, yyy, zzz, www\n";
如果这使Windows跳闸,请使用\\r\\n
:
$headers = "xxx, yyy, zzz, www\r\n";
另外,您也可以依靠fputcsv
编写标头。 这可能是最安全的方法,因为它将导致格式一致。
$headers = array('xxx', 'yyy', 'zzz', 'www');
fputcsv($outstream, $headers);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.