SplFileObject::fputcsv
(PHP 5 >= 5.4.0, PHP 7)
SplFileObject::fputcsv — Записать массив полей в виде строки CSV
Описание
$fields
, string $delimiter
= ","
, string $enclosure
= '"'
, string $escape
= "\\"
) : int|false
Записывает массив 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"""
Смотрите также
- fputcsv() - Форматирует строку в виде CSV и записывает её в файловый указатель
- SplFileObject::fgetcsv() - Получить строку из файла и ее разбор как поля CSV