Die Daten im Array werden überschrieben, da Sie den Wert von $key
neu zuweisen jedes Mal, wenn es angetroffen wird.
Was Sie tun möchten, ist ein sekundäres Array als $key
zu erstellen value und verschieben Sie Knoten in dieses Array, so erhalten Sie Ihr erwartetes Ergebnis.
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
Der Code wäre,
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
Jeder Schlüssel enthält nun ein Array mit einem Knoten für jede angetroffene Zeile.