缺点与CSV文件没有附件意味着在用户输入错误的逗号将冲刺行。因此,在写入CSV行之前,您需要删除逗号。
处理CSV的棘手部分是解析附件,这使得PEAR CSV函数具有价值。基本上,你正在寻找一个以列为逗号分隔的文件,以及为行分隔的换行符。这里有一个简单的起点:
<?php
$col_separator= ',';
$row_separator= "\n";
$a= array(
array('my', 'values', 'are', 'awes,breakit,ome'),
array('these', 'values', 'also', "rock\nAND\nROLL")
);
function encodeRow(array $a) {
global $col_separator;
global $row_separator;
// Can't have the separators in the column data!
$a2= array();
foreach ($a as $v) {
$a2[]= str_replace(array($col_separator, $row_separator), '', $v);
}
return implode($col_separator, $a2);
}
$output= array();
foreach ($a as $row) {
$output[]= encodeRow($row);
}
echo(implode($row_separator, $output));
?>
我认为你需要引号..如果在那里有一个换行符或逗号,并且它们没有引号分隔? – alex 2009-11-25 23:34:35
行情是为您的利益。使用它们是一种很好的做法;这就是为什么他们是默认的。 – 2012-04-07 18:17:07
我不同意;如果您有输入数据的控制权,您可能希望省略机箱,特别是如果您可能将所有数字/过滤的字符串数据导出到陈旧的读取器。另一件事是制表符分隔的文件:不需要附件。 – 2012-06-26 18:33:56