sql >> Base de Datos >  >> RDS >> Mysql

Evite la sobrescritura de la matriz y, en su lugar, cree un nuevo índice de matriz

Los datos en la matriz se sobrescriben porque está reasignando el valor de $key cada vez que se encuentra.

Lo que quieres hacer es crear una matriz secundaria como $key valor e inserte los nodos en esa matriz de esta manera, obtendrá el resultado esperado.

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

El código sería,

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

Cada clave ahora contendrá una matriz con un nodo para cada fila encontrada.