Работа с CSV

Сохранение в CSV

Сохранить данные в формате CSV можно через функцию fputcsv()

$array = [
    ['PHP',   'Laravel', 'Zend Framework'], // 1-ая строчка
    ['8.0.5', '8.5.15',  '3.0.0'],          // 2-ая строчка
];

// Открываем файл для записи (флаг "w")
$fp = fopen('file.csv', 'w');

foreach ($array as $item) {
    fputcsv($fp, $item, ';');
}

// Закрываем соединение с файлом и освобождаем память
fclose($fp);

В третьем параметре fputcsv()  указывается разделитель «;».

В результате будет сгенерирован файл «file.csv»:

PHP;Laravel;"Zend Framework"
8.0.5;8.5.15;3.0.0

Строка «Zend Framework» находится в кавычках, т.к. в ней есть пробел.

В Excel будет выглядеть в следующем виде:

CSV

Функция fputcsv() появилась в версии PHP 5.1.0.

Чтение CSV

Преобразовать строку из CSV в массив данных можно через функцию fgetcsv().

$handle = fopen('file.csv', 'r');
while (($data = fgetcsv($handle, 0, ';')) !== false) {
    print_r($data); // Array (PHP, Laravel, Zend Framework)
}

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