2-х строчный файл с разделителями в ассоциированный массив

Я ищу способ аккуратно поместить двухстрочный файл, разделенный символом трубы (|), в ассоциированный массив, где первая строка — это заголовки. Я видел несколько симпатичных ручных примеров, но ничего, что позволяло бы файлу потенциально изменять структуру с течением времени.

В действительности я хотел бы взять это:

id|first_name|last_name|occupation|age|someotherfield
1|john|doe|cleaner|32|meta

и превратить это в это:

array
"id" => 1
"first_name" => john
"last_name" => doe
"occupation" => cleaner
"age" => 32
"someotherfield" => meta

если у кого-то есть предложения, я бы очень хотел услышать лучший подход.

1

Решение

После открытия файла вы можете выбрать первую строку, чтобы получить имена столбцов, затем выбрать вторую строку, чтобы получить значения, а затем объединить их с array_combine,

$handle = fopen('path/to/yourfile', 'r');
$keys = fgetcsv($handle, 0, '|');
$values = fgetcsv($handle, 0, '|');
$result = array_combine($keys, $values);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector