用PHP輸出一個csv文件foreach ($old['lines'] as $line) { fputcsv($new, $line);
}比如$line的內(nèi)容是:CA,12,YMU,13,YMU,12,N我希望的數(shù)據(jù):"CA","12","Y""MU","13","Y""MU","12","N"我這樣做foreach ($lines as &$line) { foreach ($line as &$column) { $column = '"' . $column . '"';
}
}結(jié)果出來每一列數(shù)據(jù)上都被加了兩個雙引號:""CA"",""12"",""Y""""MU"",""13"",""Y""""MU"",""12"",""N""
2 回答

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗 獲得超9個贊
比較不正規(guī)的方法,若字段中含有雙引號,解析的時候會出錯:
<?php $fp = fopen('php://stdout', 'w'); fputcsv($fp, array_map(function ($item) { return '"' . $item . '"'; }, array(1,2,'b c','\'ss"')), ',', ' '); fclose($fp);
"1","2", "b c" ,"'ss""

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗 獲得超6個贊
fputcsv方法有4個參數(shù),如下:
fputcsv(file,fields,seperator,enclosure);
file 保存的文件名
fields 數(shù)據(jù)數(shù)組
seperator 字段分隔符,默認(rèn)是逗號
enclosure 字段包圍符,默認(rèn)是雙引號
你問題的點(diǎn)是第4個參數(shù)enclosure,由于你沒有傳(實際也不用傳),默認(rèn)就是雙引號,所以經(jīng)過你多余的處理后被加了2次。
- 2 回答
- 0 關(guān)注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消