SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7)

SplFileObject::fputcsvWrite a field array as a CSV line

说锟斤拷

public SplFileObject::fputcsv ( array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] ) : int

Writes the fields array to the file as a CSV line.

锟斤拷锟斤拷

fields

An array of values.

delimiter

The optional delimiter parameter sets the field delimiter (one character only).

enclosure

The optional enclosure parameter sets the field enclosure (one character only).

escape

The optional escape parameter sets the escape character (at most one character). An empty string ("") disables the proprietary escape mechanism.

Note:

If an enclosure character 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 delimiter or enclosure parameter is not a single character.

锟斤拷锟斤拷锟届常

An E_WARNING level error is issued if the delimiter or enclosure parameter is not a single character.

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.4.0 The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
5.5.21, 5.6.5 Added the escape parameter.

锟斤拷锟斤拷

Example #1 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 to file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

锟轿硷拷

  • fputcsv() - 锟斤拷锟叫革拷式锟斤拷为 CSV 锟斤拷写锟斤拷锟侥硷拷指锟斤拷
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields