sql >> Database >  >> RDS >> Mysql

Voorkom overschrijven van arrays en maak in plaats daarvan een nieuwe array-index

De gegevens in de array worden overschreven omdat u de waarde van $key opnieuw toewijst elke keer dat het wordt aangetroffen.

Wat u wilt doen, is een secundaire array maken als de $key waarde en duw knooppunten in die array zodat je het verwachte resultaat krijgt.

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

De code zou zijn,

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

Elke sleutel bevat nu een array met een knooppunt voor elke aangetroffen rij.



  1. SqlAlchemy retourneert niet alle rijen bij het opvragen van tabelobjecten, maar retourneert alle rijen wanneer ik de tabelobjectkolom opvraag

  2. Hoe tekstgegevens in MySQL op te slaan en op te halen met behoud van de regeleinden?

  3. SQL Integer Range bij het maken van tabellen

  4. Organiseer uw thuiskantoor voor meer productiviteit