SplFileObject::fputcsv()
(PHP 5 >= 5.4.0, PHP 7)
Write a field array as a CSV line
说明
public SplFileObject::fputcsv(array $fields[,string $delimiter= ","[,string $enclosure= '"'[,string $escape= ""]]]): int
Writes the$fieldsarray to the file as a CSV line.
参数
- $fields
An array of values.
- $delimiter
The optional$delimiterparameter sets the field delimiter(one character only).
- $enclosure
The optional$enclosureparameter sets the field enclosure(one character only).
- $escape
The optional$escapeparameter sets the escape character(at most one character). An empty string("")disables the proprietary escape mechanism.
Note:If an$enclosurecharacter is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by an$escape_char.
返回值
Returns the length of the written string 或者在失败时返回FALSE
.
Returns FALSE
, and does not write the CSV line to the file, if the$delimiteror$enclosureparameter is not a single character.
错误/异常
An E_WARNING
level error is issued if the$delimiteror$enclosureparameter is not a single character.
更新日志
版本 | 说明 |
---|---|
7.4.0 | The$escapeparameter now also accepts an empty string to disable the proprietary escape mechanism. |
5.5.21, 5.6.5 | Added the$escapeparameter. |
范例
SplFileObject::fputcsv() example
<?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); } ?>
The above example will write the following tofile.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
参见
fputcsv()
将行格式化为 CSV 并写入文件指针- SplFileObject::fgetcsv() Gets line from file and parse as CSV fields
This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.