PHP array problem

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

  • PHP array problem

    Hallo, ich habe folgendes Problem und zwar muss ich eine datei (csv) einlesen und daraus eine mysql tabelle erstellen.

    Die datei sieht folgendermassne aus

    id|kmh|typ|beschreibung| => das soll der Feldname sein
    int|int|varchar|varchar| => sind die dateitypen für die mysql tab
    1|70|Tunnel|A9gelinalm => Ist feldinhalt
    2|100|Autobahn|A9_zw_gleinalm und Spreing => Feldinhalt
    .....

    die Datei lese ich per

    PHP-Code:
    $theFile file_get_contents('test.csv');

    $lines = array();
    $lines explode("\n"$theFile);
    $lineCount count($lines); 
    ein und schreibe sie in ein Array das so aussieht

    PHP-Code:
    print_r ($lines);:


    Array ( 
    [
    0] => marker_id;kmh;Typ;Beschreibung;gewaschener Tunnel;einröhr/zweiröhrig 
    [1] => int;int;varchar oder verknüpfung;var;int;int 
    [2] => 1;70;Tunnel;A9_gelinalm;1;
    [3] => 2;100;Autobahn;A9_zw_gleinalm und Spreing;NULL;NULL 
    [4] => 3;100;Tunnel;A9_spering;1;2  
    so wei so gut!

    nun möchte ich aus dem [0] eine mysql tab erzeugen wobei jeder wert der per ; getrennt ist ein feldname sein soll

    [1] sollen die dateitypen sein usw

    [2]-[n] sind dann der Inhalt für die tabelle!

    wie bekomme ich nun die einzelnen teile aus dem array?

    hoffe ihr versteht mich

    danke

  • #2
    explode() ist eine für dich sicher sehr interessante Funktion.
    Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
    Es wär nur deine Schuld, wenn sie so bleibt

    Kommentar


    • #3
      danke, das hätte ich mir auch schon gedacht

      nur was macht er genau er nimmt das array teilt es nach jedem ; und schreibts in ein neues array ($sum).

      PHP-Code:
      $sum explode(";"$lines);
            
      print_r($sum); 
      gibt mir dann

      Array ( [0] => Array )

      kann irgendwie nicht stimmen oder?

      Kommentar


      • #4
        explode(";", $lines) ist ja auch unfug.

        explode erwartet als zweiten parameter einen string - du fütterst es aber mit einem array.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          doch, du musst mit $lines[0] etc. arbeiten
          mach mal print_r $lines; und überleg dir, was damit geschieht, wenn man $lines, das ja ein array - und kein string! - ist, anhand eines trennzeichens zerteilt.
          Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
          Es wär nur deine Schuld, wenn sie so bleibt

          Kommentar

          Lädt...
          X