CSV auslesen Feldnamen als Array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSV auslesen Feldnamen als Array

    Hallo,

    ich habe ein kleines Problem: ich möchte eine CSV auslsen und den Feldnamen (1.te Zeile) als Array-Index (Hash) benutzen.

    Hier eine kleine CSV-Beispielstruktur:

    Anrede;Vorname;Nachname;Email
    Herr;Max;Mustermann;max@mustermann.xx
    Frau;Max;Musterfrau;max@musterfrau.xx

    Hierzu habe ich eine kleine Funktion welche die CSV einließt in einem Mehrdimensionalem Array abbildet.

    PHP-Code:
    function ReadCSV($fp$length=1024$delimiter=";") {
        while(
    $daten fgetcsv($fp$length$delimiter)) {
            
    $data[]    = $daten;
        }
        return 
    $data;
    }

    $fp       fopen($file"r");
    $daten ReadCSV($fp);
    fclose($fp);

    echo 
    "<pre>";
    print_r($daten);
    echo 
    "</pre">; 
    Das sieht so aus:
    Array
    (
    [0] => Array
    (
    [0] => Anrede
    [1] => Vorname
    [2] => Nachname
    [3] => Email
    )

    [1] => Array
    (
    [0] => Herr
    [1] => Max
    [2] => Mustermann
    [3] => max@mustermann.xx
    )

    [2] => Array
    (
    [0] => Frau
    [1] => Max
    [2] => Musterfrau
    [3] => max@musterfrau.xx
    )

    )

    Nun würde ich aber gerne den Feldnamen als Key benutzen anstatt den numerischen Index. Das Array soll dann so vorliegen:

    [1] => Array
    (
    [Anrede] => Herr
    [Vorname] => Max
    [Nachname] => Mustermann
    [Email] => max@mustermann.xx
    )

    Habt ihr vielleicht eine Lösung wie ich das realisieren kann?

    Vielen Dank!
    Zuletzt geändert von atiKahn; 08.03.2007, 16:31.

  • #2
    Indem du erst die Feldnamen ausliest und die dann ganz einfach jedesmal benutzt, um das Array aufzubauen.

    $arr[1]["vorname"] = "Blabla";
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar

    Lädt...
    X