Dữ liệu trong mảng đang bị ghi đè vì bạn đang gán lại giá trị của $key
mỗi lần nó gặp phải.
Những gì bạn muốn làm là tạo một mảng phụ làm $key
giá trị và đẩy các nút vào mảng đó theo cách này, bạn sẽ có kết quả như mong đợi.
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
Mã sẽ là,
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
Mỗi khóa bây giờ sẽ chứa một mảng với một nút cho mỗi hàng gặp phải.