5 простых способов чтения CSV-файла в массив на PHP

Чтение файла CSV (значений, разделенных запятыми) в массив — распространенная задача в веб-разработке PHP. Это позволяет легко обрабатывать табличные данные и манипулировать ими. В этой статье мы рассмотрим пять простых методов выполнения этой задачи. Итак, приступим!

Метод 1: использование fgetcsv()
Функция fgetcsv() — это встроенная функция PHP, которая считывает строку из файла и анализирует ее как данные CSV. Вот пример того, как его использовать:

$file = fopen('data.csv', 'r');
$data = [];
while (($row = fgetcsv($file)) !== false) {
    $data[] = $row;
}
fclose($file);
print_r($data);

Метод 2: использование file() и str_getcsv()
Функция file() считывает весь файл в массив, где каждый элемент представляет строку. Затем мы можем использовать функцию str_getcsv() для анализа каждой строки как данных CSV. Вот пример:

$lines = file('data.csv');
$data = [];
foreach ($lines as $line) {
    $data[] = str_getcsv($line);
}
print_r($data);

Метод 3: использование SplFileObject
Класс SplFileObject предоставляет объектно-ориентированный способ взаимодействия с файлами. Мы можем использовать его для чтения файла CSV построчно. Вот пример:

$file = new SplFileObject('data.csv');
$file->setFlags(SplFileObject::READ_CSV);
$data = [];
foreach ($file as $row) {
    $data[] = $row;
}
print_r($data);

Метод 4: использование str_getcsv() и взрыв()
Если у вас есть все содержимое CSV в виде строки, вы можете использовать str_getcsv() для его анализа. Вот пример:

$content = file_get_contents('data.csv');
$lines = explode(PHP_EOL, $content);
$data = [];
foreach ($lines as $line) {
    $data[] = str_getcsv($line);
}
print_r($data);

Метод 5: использование пакета League\Csv
Пакет League\Csv — это популярная библиотека, обеспечивающая простой и удобный способ работы с файлами CSV. Вы можете установить его с помощью Composer. Вот пример:

use League\Csv\Reader;
$csv = Reader::createFromPath('data.csv', 'r');
$data = $csv->fetchAll();
print_r($data);

В этой статье мы рассмотрели пять различных методов чтения CSV-файла в массив в PHP. В зависимости от ваших конкретных требований и сложности вашего проекта вы можете выбрать метод, который подходит вам лучше всего. Теперь, вооружившись этими методами, вы можете легко обрабатывать данные CSV и манипулировать ими в своих приложениях PHP.