str_getcsv

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

str_getcsv Разбирает CSV-строку в массив

Описание

str_getcsv(
    string$string,
    string$separator = ",",
    string$enclosure = "\"",
    string$escape = "\\"
): array

Функция разбирает входную строку по полям в формате CSV и возвращает массив c прочитанными полями.

Замечание:

Функция учитывает настройки локали. Если для константы LC_CTYPE установили значение, например, en_US.UTF-8, функция может неправильно прочитать строки в однобайтовой кодировке.

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

string

Строка для разбора.

separator

Устанавливает разделитель поля; только один однобайтовый символ.

enclosure

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

escape

Устанавливает экранирующий символ; не больше одного однобайтового символа. Символ экранирования по умолчанию — обратный слеш (\). Пустая строка ("") отключает внутренний механизм экранирования.

Замечание: Часто символ ограничителя enclosure экранируют внутри поля удвоением; символом экранирования escape пользуются как альтернативой. Поэтому у значений по умолчанию для этих параметров — "" и \" — одинаковое значение. Кроме разрешения экранировать символ ограничителя enclosure символ экранирования escape не несёт отдельного смысла; он даже не экранирует сам себя.

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

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

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

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

Примеры

Пример #1 Пример использования функции str_getcsv()

<?php

$string
= 'PHP,Java,Python,Kotlin,Swift';
$data = str_getcsv($string);

var_dump($data);

?>

Результат выполнения приведённого примера:

array(5) { [0]=> string(3) "PHP" [1]=> string(4) "Java" [2]=> string(6) "Python" [3]=> string(6) "Kotlin" [4]=> string(5) "Swift" }

Пример #2 Пример использования функции str_getcsv() с пустой строкой

Предостережение

Для пустой строки функция вместо пустого массива возвращает значение [null].

<?php

$string
= '';
$data = str_getcsv($string);

var_dump($data);

?>

Результат выполнения приведённого примера:

array(1) { [0]=> NULL }

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

  • fgetcsv() - Читает строку из файла и производит разбор данных CSV
To Top