Mysql
 sql >> Database >  >> RDS >> Mysql

Impedisci la sovrascrittura dell'array e crea invece un nuovo indice dell'array

I dati nell'array vengono sovrascritti perché stai riassegnando il valore di $key ogni volta che si incontra.

Quello che vuoi fare è creare un array secondario come $key value e spingi i nodi in quell'array in questo modo otterrai il risultato atteso.

[
    'NM1' => ['...', '...'],
    'PR1' => ['...', '...']
]

Il codice sarebbe,

while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE) {
    $key = array_shift($row);
    // Notice the extra []
    $data[$key][] = $row;
}

Ogni chiave ora conterrà un array con un nodo per ogni riga incontrata.