Как преобразовать cvs файл в массив

Иногда случается, что необходимо преобразовать csv файл в ассоциативный массив php. Встроенной функции для этого я не нашел, по этому пришлось писать свою.


$options = array(
'enable' => true, // Скрипт работает только если значение TRUE
/* Настройки CSV */
'filename' => 'seo.csv', // Имя файла CSV. Находиться должен в одной папке со скриптом
'delimiter' => ';', // Какой разделитель используется
);

if(!$options['enable']) die('Скрипт отключен, дальнейшая обработка данных невозможна!');

function csv_to_array($filename) {
if(!file_exists($filename) || !is_readable($filename)){
return FALSE;
}
global $options;
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $options['delimiter'])) !== FALSE) {
if(!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
}
fclose($handle);
}
return $data;
}

$seo_arr = csv_to_array($options['filename']);

С помощью вот такого не хитрого кода можно быстро преобразовать CSV файл в массив.

Продолжая использовать веб- сайт beta-code.ru, вы даете согласие на обработку файлов cookie, пользовательских данных (сведения о местоположении; тип и версия ОС; тип и версия Браузера; тип устройства и разрешение его экрана; источник откуда пришел на сайт пользователь; с какого сайта или по какой рекламе; язык ОС и Браузера; какие страницы открывает и на какие кнопки нажимает пользователь; ip-адрес) в целях функционирования сайта, проведения ретаргетинга и проведения статистических исследований и обзоров. Если вы не хотите, чтобы указанные данные обрабатывались, покиньте сайт.
Принять