SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7)

SplFileObject::fputcsvЗаписать массив полей в виде строки CSV

Описание

public SplFileObject::fputcsv ( array $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