SplFileObject::fgetcsv
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::fgetcsv — Отримати рядок із файлу та його розбір як поля CSV
Опис
public SplFileObject::fgetcsv(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false
Отримує рядок із файлу та розбирає його відповідно до формату CSV. Результати аналізу повертає у вигляді масиву.
Зауваження :
Ця функція враховує налаштування локалі. Наприклад, якщо
LC_CTYPE
установлена вen_US.UTF-8
, то файли в однобайтовому кодуванні будуть неправильно прочитані цією функцією.
Список параметрів
separator
Розділювач полів (тільки один однобайтовий символ). За замовчуванням це кома або символ, заданий методом SplFileObject::setCsvControl()
enclosure
Символ обмежувача поля (лише один однобайтовий символ). За замовчуванням це подвійна лапка або символ, заданий методом SplFileObject::setCsvControl(). Порожня стрічка (""
) відключає пропрієтарний механізм екранування.
Зауваження: Зазвичай символ
enclosure
екранується всередині поля шляхом його подвоювання; однак, символescape
як альтернатива. Тому значення за промовчанням цих параметрів""
и\"
мають однакове значення. Крім дозволу екранувати символenclosure
символescape
немає особливого сенсу; він навіть не призначений для самого екранування.
escape
Екрануючий символ (не більше одного однобайтового символу). За замовчуванням це зворотний сліш (\
) або символ, який був заданий методом SplFileObject::setCsvControl()
Значення, що повертаються
Повертає масив містить дані прочитаного рядка або **false
**в случае ошибки.
Зауваження :
Порожній рядок CSV-файлу повертатиметься у вигляді масиву, що містить єдиний елемент
null
, якщо не використовуєтьсяSplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE
, і в цьому випадку порожні рядки пропускаються.
список змін
Версия | Опис |
---|---|
7.4.0 | Тепер параметр escape може приймати порожній рядок для вимкнення пропрієтарного механізму екранування. |
Приклади
Приклад #1 Приклад використання SplFileObject::fgetcsv()****
Loading...
Приклад #2 Приклад використання SplFileObject::READ_CSV
****
Loading...
Contents of animals.csv
crocodile,reptile,4 dolphin,mammal,0 duck,bird,2 koala,mammal,4 salmon,fish,0
Висновок наведеного прикладу буде схожим на:
A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legs
Дивіться також
- SplFileObject::setCsvControl() - Встановлює символи роздільника, обгортання та екранування для CSV
- SplFileObject::setFlags() - Встановлює прапори для SplFileObject
- SplFileObject::READ_CSV
- SplFileObject::current() - Отримати поточний рядок файлу