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