Les données du tableau sont écrasées car vous réaffectez la valeur de $key
chaque fois qu'il est rencontré.
Ce que vous voulez faire est de créer un tableau secondaire en tant que $key
valeur et poussez les nœuds dans ce tableau de cette façon, vous obtenez le résultat attendu.
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
Le code serait,
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
Chaque clé contiendra désormais un tableau avec un nœud pour chaque ligne rencontrée.