SplFileObject::fgetcsv
Получает строку из указателя файла и анализирует её на CSV-поля
&reftitle.description;
publicarrayfalseSplFileObject::fgetcsvstringseparator","stringenclosure"\""stringescape"\\"
Метод получает строку из CSV-файла и возвращает массив
с прочитанными полями.
Метод учитывает настройки локали. Если для константы LC_CTYPE
установили значение, например, en_US.UTF-8,
метод может неправильно прочитать файлы в однобайтовой кодировке.
&reftitle.parameters;
separator
Разделитель полей (только один однобайтовый символ). По умолчанию это запятая или символ, который
задали методом SplFileObject::setCsvControl.
enclosure
Символ ограничителя полей (только один однобайтовый символ). По умолчанию это двойные кавычки или
значение, которое установили методом
SplFileObject::setCsvControl.
escape
Экранирующий символ (не более одного однобайтового символа). По умолчанию это обратный слеш
(\) или значение, которое установили методом
SplFileObject::setCsvControl.
Пустая строка ("") отключает собственный механизм экранирования.
Обычно символ enclosure экранируется внутри поля путём удваивания;
однако, символ escape разрешается использовать как альтернативу.
Поэтому у значений по умолчанию для этих параметров "" и \"
одинаковые значения. Кроме разрешения экранировать символ
enclosure символ
escape не имеет особого значения; он даже не экранирует самого себя.
&reftitle.returnvalues;
Метод возвращает массив, который содержит данные прочитанной строки, или &false;, если возникла ошибка.
Пустая строка CSV-файла будет возвращаться в виде массива, который содержит
единственный элемент &null;, если не используется
SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE,
и тогда пустые строки пропускаются.
&reftitle.changelog;
&Version;&Description;7.4.0
Теперь параметр escape принимает пустую строку для
отключения собственного механизма экранирования.
&reftitle.examples;
Пример использования метода SplFileObject::fgetcsv
eof()) {
var_dump($file->fgetcsv());
}
?>
]]>
Пример использования SplFileObject::READ_CSV
setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
list($animal, $class, $legs) = $row;
printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>
]]>
Contents of animals.csv
&example.outputs.similar;
&reftitle.seealso;
SplFileObject::setCsvControlSplFileObject::setFlagsSplFileObject::READ_CSVSplFileObject::current