tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Maniac
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
226
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DerAlex4 DerAlex4 ist offline Rookie
    Registriert seit
    Feb 2012
    Beiträge
    2
    Hallo,
    Ich versuche aus einer csv Datei Daten auszulesen und zu speichern. Informationen in der Datei sind mit ',' getrennt. Daher speicher ich zuerst alle Elemente in den Array $v. Da ich aber nur jedes 7te Element speichern möchte versuche ich in der foreach Schleife diese in ein weiteres Array zu speichern.
    Zeile 11 gibt mir wie gewünscht das richtig Element zurück. Es wird aber scheinbar nicht in $ary gespeichert. var_dump gibt eine Länge von 1 zurück mit 131075 als Inhalt, was das letzte Element von den ersten Array ist.

    Hoffe ihr versteht mein Problem und verzeihung für den schrecklichen Programmierstil:D.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    <?php  
          $file="ES_1mBar_20120120.csv";
          $datei=file_get_contents($file);
          $v=array();
          $v=explode(",",$datei);
      $i=0;
      $x=0;
      $ary=array();
     foreach($v as $k){
       if($i==6){           // to take every seventh element
          $ary[x]=(int)substr($k,0,6);  //shortens the String element and cast int
          $x++;
          $i=0;
       }
       $i++;
      }
      echo var_dump($ary);  // array(1) { ["x"]=> int(131075) }
      echo count($ary);     // <---- 1****?
    ?>
     

  2. #2
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Bei deinem Var-Dump gätte dir auffallen müssen das du $x nicht als Variable übergibst, sondern als String "x".
    DerAlex4 bedankt sich. 
    Die Schweine von heute sind unsere Schnitzel von morgen!

  3. #3
    DerAlex4 DerAlex4 ist offline Rookie
    Registriert seit
    Feb 2012
    Beiträge
    2
    Argh. danke! Tut mir leid für den peinlichen Fehler, bin noch neu
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zudem machst du dir das leben unnötig schwer.
    PHP bietet gute Möglichkeiten um mit csv zu arbeiten: fgetcsv()

    PHP-Code:
    $handle fopen ('ES_1mBar_20120120.csv''r');
    while ((
    $row fgetcsv ($handle1000",")) !== FALSE ) {
        
    // 7tes Element der Zeile hat den Index 6
        
    $ary[] = (int) $row[6];
    }
    fclose ($handle);
    var_dump($ary); 
    Nachtrag:
    Ich komme ab der AUfgabenstellung noch nicht ganz klar. Also das obige Beispiel nimm immer den 7ten Eintrag pro csv-Zeile. Die Beschreibung und dein Code lässt mich aber vermuten, dass du nur eine Zeile mit zig Feldern hast und von dieser Liste jeden 7ten Eitrag haben willst. Dann bieten sich Array und ihre Möglichkeiten an
    PHP-Code:
    // Test-Array mit 56 Einträgen
    $datarange('A','x');

    // Die Auswahlmaske erstellen für jeden 7ten Eintrag
    $select range(-1count($data)-17);

    // Jeden 7ten Eintrag herauspicken.
    $result array_intersect_key($rowarray_flip($select));

    var_dump($result); 
    DerAlex4 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. erzeugen eines Neuen Entities mit id!=null
    Von sauron666 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 05.05.09, 20:05
  2. foreach(array as key=value)value==''
    Von Chaosengel_Gabriel im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.06.08, 15:07
  3. mehrdimensionales array in foreach...
    Von keckskoenig im Forum PHP
    Antworten: 3
    Letzter Beitrag: 13.01.08, 20:21
  4. automatisiertes erzeugen von neuen Projekten
    Von sydmak im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 02.07.07, 09:15
  5. Array foreach frage
    Von crashx im Forum PHP
    Antworten: 2
    Letzter Beitrag: 02.04.07, 12:33

Stichworte