PHP 8.1.0 RC 2 available for testing

SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplFileObject::fputcsvWrite a field array as a CSV line

说明

public SplFileObject::fputcsv(
    array $fields,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\"
): int|false

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

参数

fields

An array of values.

separator

The optional separator parameter sets the field delimiter (one single-byte character only).

enclosure

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

escape

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

注意:

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

错误/异常

An E_WARNING level error is issued if the separator 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.

范例

示例 #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"""

参见

add a note add a note

User Contributed Notes 1 note

up
1
sergiy dot sokolenko at gmail dot com
9 years ago
This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.
To Top