Данните в масива се презаписват, защото присвоявате отново стойността на $key
всеки път, когато се срещне.
Това, което искате да направите, е да създадете вторичен масив като $key
стойност и бутнете възли в този масив по този начин ще получите очаквания резултат.
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
Кодът ще бъде,
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
Сега всеки ключ ще съдържа масив с възел за всеки срещнат ред.