(PHP 5 >= 5.4.0, PHP 7)
SplFileObject::fputcsv — Записать массив полей в виде строки CSV
$fields
[, string $delimiter
= ","
[, string $enclosure
= '"'
[, string $escape
= "\\"
]]] ) : int
Записывает массив fields
в файл как строку CSV.
fields
Массив значений
delimiter
Необязательный параметр delimiter
устанавливает
разделитель полей (только один символ).
enclosure
Необязательный параметр enclosure
(только один символ).
Символ обертывания используется для помещения в него значений полей.
Например строка 'строка' обернута в одиночные кавычки (').
escape
Необязательный параметр escape
устанавливает символ
экранирования (максимум один символ).
Пустая строка ("") отключает проприетарный механизм экранирования.
Замечание:
Если символ
enclosure
содержится в поле, он будет экранирован путем его удвоения, если ему не предшествуетescape_char
.
Возвращает длину записанной строки или FALSE
в случае возникновения ошибки.
Возвращает FALSE
и не производит запись в файл, если параметры
delimiter
или enclosure
содержат больше одного символа.
Вызывает ошибку уровня E_WARNING
, если параметры
delimiter
или enclosure
содержат больше одного символа.
Версия | Описание |
---|---|
7.4.0 |
Теперь параметр escape может принимать пустую строку для
отключения проприетарного механизма экранирования.
|
5.5.21, 5.6.5 |
Добавлен параметр 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"""