此方法在 PHP 5.4 中可用,它只是 php.net/fputcsv 的包装器。
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplFileObject::fputcsv — 将字段数组写入文件作为 CSV 行
$fields
,$separator
= ",",$enclosure
= "\"",$escape
= "\\",$eol
= "\n"将 fields
数组写入文件作为 CSV 行。
fields
一个值数组。
separator
可选的 separator
参数设置字段分隔符(仅一个单字节字符)。
enclosure
可选的 enclosure
参数设置字段包围符(仅一个单字节字符)。
escape
可选的 escape
参数设置转义字符(最多一个单字节字符)。空字符串 (""
) 将禁用专有转义机制。
eol
可选的 eol
参数设置自定义换行符序列。
注意:
如果
enclosure
字符包含在字段中,它将通过加倍进行转义,除非它紧接在escape
之前。
如果 separator
或 enclosure
参数不是单个字符,则会发出 E_WARNING
级别的错误。
版本 | 描述 |
---|---|
8.1.0 | 添加了可选的 eol 参数。 |
7.4.0 | escape 参数现在也接受空字符串来禁用专有转义机制。 |
示例 #1 SplFileObject::fputcsv() 示例
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
$file->fputcsv($fields);
}
?>
上面的示例将以下内容写入 file.csv
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""