缺點與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