Dane w tablicy są nadpisywane, ponieważ ponownie przypisujesz wartość $key
za każdym razem, gdy zostanie napotkany.
To, co chcesz zrobić, to utworzyć dodatkową tablicę jako $key
wartość i wepchnij węzły do tej tablicy w ten sposób, że otrzymasz oczekiwany wynik.
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
Kod byłby,
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
Każdy klucz będzie teraz zawierał tablicę z węzłem dla każdego napotkanego wiersza.