$key
の値を再割り当てしているため、配列内のデータが上書きされています 遭遇するたびに。
あなたがしたいのは、$key
としてセカンダリ配列を作成することです この方法でノードを評価してその配列にプッシュすると、期待どおりの結果が得られます。
[
'NM1' => ['...', '...'],
'PR1' => ['...', '...']
]
コードは次のようになります
while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
$key = array_shift($row);
// Notice the extra []
$data[$key][] = $row;
}
各キーには、検出された各行のノードを含む配列が含まれるようになります。