SplFileObject::setCsvControl

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

SplFileObject::setCsvControlУстанавливает символы разделителя, ограничителя и экранирования для CSV-полей

Описание

public SplFileObject::setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void

Метод устанавливает символы разделителя полей, ограничителя значений полей и экранирования для CSV-полей.

Список параметров

separator

Разделитель поля (только один однобайтовый символ).

enclosure

Символ ограничителя поля (только один однобайтовый символ).

escape

Экранирующий символ (не более одного однобайтового символа). Пустая строка ("") отключает собственный механизм экранирования.

Внимание

Строка в CSV-формате иногда перестаёт соответствовать стандарту » RFC 4180 или не выдерживает обмена информацией с PHP-функциями для работы с CSV-строками, если для символа экранирования escape устанавливают значение, которое отличается от пустой строки "". Значение по умолчанию для параметра escape"\\", поэтому рекомендуют явно указывать пустую строку. Значение по умолчанию изменят в будущей версии PHP, но не раньше PHP 9.0.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Список изменений

Версия Описание
7.4.0 Теперь параметр escape принимает пустую строку для отключения собственного механизма экранирования.

Примеры

Пример #1 Пример использования метода SplFileObject::setCsvControl()

<?php

$file
= new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');

foreach (
$file as $row) {
list (
$fruit, $quantity) = $row;
// Обрабатываем значения
}

?>

Содержимое data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Смотрите также

  • SplFileObject::getCsvControl() - Получает символы разделителя, ограничителя и экранирования CSV-полей
  • SplFileObject::fgetcsv() - Получает строку из указателя файла и анализирует её на CSV-поля

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top