Richtige Verwendung von Variablen

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

  • Richtige Verwendung von Variablen

    Hallo Forum!
    Ich habe folgendes Problem und irgendwie bekomme ich es im Moment absolut nicht hin. Ich versuche das ganze mal so gut wie möglich zu beschreiben:
    Ich habe einen PHP-Parser geschrieben, der eine Datei öffnet und sie nun Zeile für Zeile untersucht. Dabei wird in jeder Zeile nach einem Schlüsselwort gesucht und gegebenenfalls ausgewertet. In jeder Zeile ist max. ein Schlüsselwort enthalten.Nach dem Durchlauf aller Zeilen (x-mal die for-schleife) sind alle Schlüsselworte einmal vorgekommen.
    Dieses Parsen läuft in einer for-schleife. Nach dem Abarbeiten der For-Schleife würde ich gerne meine Ergebnisse ausgeben, doch meine Variablen sind leer. Nun habe ich gelesen, dass Variablen bei Schleifendurchläufen immer wieder auf Null gesetzt werden, bzw. gelöscht werden. Wie kann ich das verhindern? Bzw. wie kann ich die Variable vorher so wegspeichern, dass ich später zugreifen kann. Die Variablen enthalten alle strings.


    Viele Grüße mit ein wenig Verzweiflung im Auge
    Dennis

  • #2
    Ausgabe in der Schleife

    Servus,

    die einfachste Lösung wäre doch eine Ausgabe der Variablen in der Schleife, oder?
    Mal so aus dem Bauch was anderes: Man könnte doch die Ergebnisse der Abfrage in ein Array schreiben und dieses nachher ausgeben, oder?

    Man müsste zunächst wissen, ob ein Schlüsselwort gefunden wurde. Dazu braucht man eine kleine Abfrage.

    Vor der Abfrage, ob ein Schluesselwort gefunden wurde:
    $i=0;

    Abfrage: Wenn Schluesselwort gefunden, dann:
    {
    $ergebnis[$i]=$abfrageschluesselwort;
    $i++;
    }

    $i erhöht sich jeweils um eins wenn ein Schlüsselwort gefunden wurde. So ist das Array lückenlos gefüllt.

    Danach das Array ausgeben:

    $i=0;
    while ($i<count($ergebnis))
    {
    echo $ergebnis[$i];
    echo "<br>";
    $i++;
    }

    Ich hoffe das funktioniert. Hab's nicht ausprobiert.

    Kommentar


    • #3
      Hi Rince,

      hier ein Beispiel:
      Angenommen, eine Datei "kontakt.txt" sieht so aus:
      Code:
      Name1|Vorname1|Anschrift1|PLZ Ort1|email1|
      Name2|Vorname2|Anschrift2|PLZ Ort2|email2|
      Dann sieht die Schleife so aus:
      Code:
      <?
      
      $mod_file = "kontakt.txt";
      // Oeffnen der MOD-Datei
      // und Array erzeugen.
      $fp = fopen($mod_file, "r");
      $file_contents = fread($fp, filesize($mod_file));
      fclose($fp);
      $line = explode("\n", $file_contents);
      
      $i = 0;
      $size = sizeof($line) - 2; // -2 steht da, weil bei mir die letzte Zeile leer ist
      
      	
      	// Elemente des MOD-Datei-Arrays verarbeiten.
      	while($i <= $size) {
      	//sort($line);
      	    // Format/Print links.
      	    $data_pair = explode("|", $line[$i]);
      
      		    $Name = $data_pair[0];
      		    $Vorname = $data_pair[1];
      		    $Anschrift = $data_pair[2];
      		    $PLZ_Ort = $data_pair[3];
      		    $email = $data_pair[4];
      
      		    // Werte ausgeben für jede Zeile
      		    if ($email!="") { // E-Mail nicht leer
      
      			echo $Name . "<br>";
      			echo $Vorname . "<br>";
      			echo $Anschrift . "<br>";
      			echo $PLZ_Ort . "<br>";
      			echo $email . "<br>";
      		    } // Bedingungsschleife schließen
      	  // Ausgelesene Zeile beenden und fortfahren.
      	  $i++;
      	}
      ?>
      Müsste eigentlich klappen
      "Zaubberer" Guido

      Kommentar

      Lädt...
      X