sql >> Databasteknik >  >> RDS >> Mysql

Förhindra arrayöverskrivning och skapa istället ett nytt arrayindex

Datan i arrayen skrivs över eftersom du omtilldelar värdet för $key varje gång den påträffas.

Vad du vill göra är att skapa en sekundär array som $key värde och tryck in noder i den arrayen så att du får ditt förväntade resultat.

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

Koden skulle vara,

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

Varje nyckel kommer nu att innehålla en array med en nod för varje rad som påträffas.



  1. sökordsfel saknas i oracle CASE WHEN sql-satsen

  2. Microsoft Access är INTE död och inte heller VBA

  3. Vad är det bästa sättet att välja minimivärdet från flera kolumner?

  4. gruppera efter datum aggregatfunktion i postgresql