(PHP 5 >= 5.3.0, PHP 7, PHP 8)
str_getcsv — Разбирает CSV-строку в массив
$string
,$separator
= ",",$enclosure
= "\"",$escape
= "\\"Функция разбирает входную строку по полям в формате 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 }