Является ли этот ключ итерации ключом надлежащим образом инициализации пользовательских имен ключей для значений массива str_getcsv? Также является неуместным() дорогостоящим или даже необходимым в этом цикле?пользовательские ключи массива для str_getcsv()
<?php
$lines = file('csv/random.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$temp = str_getcsv($value,'|');
$csv[$key]['code'] = $temp[0];
$csv[$key]['name'] = $temp[1];
$csv[$key]['price'] = $temp[2];
$csv[$key]['avail'] = $temp[3];
unset ($temp);
}
?>
EDIT:
Следуя советам в комментариях код выглядит аккуратнее и работает значительно быстрее
$keys = Array('code','name','price','avail');
$file = fopen('csv/random.csv',"r");
while(! feof($file))
{
$temp[] = array_combine($keys,fgetcsv($file,'1000','|'));
}
fclose($file);
Ответ отмечен ниже, я считаю, более профессиональное выполнение этого для тех, кто в этом нуждается.
Спасибо, ребята.
используйте 'array_combine' для ключей на работу применяют ваши строки CSV. – mario
'нестандартный' - хорошая практика. –
@scrowler 'unset' - пустая трата времени, так как он немедленно переназначает переменную. Он мог сделать это в конце цикла, но если они не являются действительно длинными линиями, вряд ли это стоит того. – Barmar