while schleifen...

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

  • while schleifen...

    ma ne relativ einfache frage:

    ich bekomme innerhalb einer while schleife werte,
    doch wenn ich diese ausserhalb der schleife einsetzen möchte,
    funktioniert des nich..

    also wie kann man die werte aus der while schleife übernehmen?

  • #2
    Ich verstehe Deine Frage nicht.

    Kommentar


    • #3
      Wenn du while() Schleife innerhalb einer Funktion läuft, musst du bei der Funktion die benötigten Variablen zurückgeben.
      Oder du benutzt globale Variablen oder Referenzen.
      (siehe dazu PHP Manual Kapitel Variablen).

      mehrere Werte übergibst du so:
      list($wert1,$wert2,$wert3) = make_it_so();
      oder so
      $array = make_it_so();


      function make_it_so()
      {
      do...
      return array($wert1,$wert2,$wert3);
      }
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        while(!feof($fps))
        {$resultat=fgets($fps, 1970);
        $array1 = explode("?",$resultat);
        $array2 = explode("=",$array1[1]);
        $Wert1a = explode("&",$array2[1]);
        $Wert1 = $Wert1a[0];
        $array3 = explode("=",$array1[1]);
        $Wert2a= explode("&",$array2[2]);
        $Wert2 = $Wert2a[0];
        $array2 = explode("=",$array1[1]);
        $Wert3a = explode("&",$array2[3]);
        $Wert3 = $Wert3a[0];
        }
        //* und jetzt außberhalb der schleife
        echo $wert1 $wert2 $wert3;
        //*Ergebniss: " " (nix )

        -----

        die schleife ist auch nicht in einer funktion
        Zuletzt geändert von reaperphil; 27.04.2002, 17:47.

        Kommentar


        • #5
          Da stehen dann die Inhalte des letzten Schleifendurchlaufes.
          Mach mal ein Testfile, daß nur aus einer Zeile besteht die einen Link beinhaltet und verarbeite es über diese Schleife.

          Oder setze das Echo vor das Schleifenende }

          Kommentar


          • #6
            das problem ist ja, das ich das echo nicht mit in die schleife setzten kann.. sonst hät ichs ja schon gem8

            Kommentar


            • #7
              Was erwartest Du Dir in den jeweiligen Variablen?
              Angenommen Du hast 100 Links was sollte dann in den Variablen stehen? Alle 100? Dann müßtest Du entweder die Ergebnisse in einen Array schreiben oder der jeweiligen Variable anhängen.

              PHP-Code:
              while(!feof($fps)) {
                  
              $resultat=fgets($fps1970); 
                  
              $array1 explode("?",$resultat); 
                  
              $array2 explode("=",$array1[1]); 
                  
              $Wert1a explode("&",$array2[1]); 
                  if (
              $Wert1a[0] != "") {
                      
              $Wert1            $Wert1a[0];
                      
              $Wert1Array[]     = $Wert1a[0];
                      
              $Wert1angehaengt .= $Wert1a[0];
                  }
                  
              $array3 explode("=",$array1[1]); 
                  
              $Wert2aexplode("&",$array2[2]);
                  if (
              $Wert2a[0] != "") {
                      
              $Wert2 $Wert2a[0];
                      
              $Wert2Array[]     = $Wert2a[0];
                      
              $Wert2angehaengt .= $Wert2a[0];
                  } 
                  
              $array2 explode("=",$array1[1]); 
                  
              $Wert3a explode("&",$array2[3]); 
                  if (
              $Wert3a[0] != "") {
                      
              $Wert3            $Wert3a[0];
                      
              $Wert3Array[]     = $Wert3a[0];
                      
              $Wert3angehaengt .= $Wert3a[0];
                  } 

              print 
              "Werte: $wert1 $wert2 $wert3<br>";
              print 
              "Werte angehängt: $wert1angehaengt $wert2angehaengt $wert3angehaengt<br>";
              // Die Arraywerte am Besten wieder übert eine Schleife auslesen
              Print "Werte in Array: $wert1Array[0] $wert1Array[1] $wert1Array[3] ...<br>"

              Kommentar


              • #8
                Einfach return $variable;
                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

                Kommentar


                • #9
                  @ Rj1
                  Da geht es ja gar nicht um Rückgabewerte von Funktionen.

                  Kommentar


                  • #10
                    @hand

                    super, das mit dem if hat geklappt
                    (weiß zwar nich wieso)
                    aber auf jeden..
                    DANKE

                    Kommentar


                    • #11
                      Bei jedem Durchlauf wird der durchlaufene Record gesplittet. Und wenn da kein Link drinnen steht, den Du erwartest steht dann haklt in den Ergebnisfeldern nix drinnen. Deshalb der IF, damit nur dann, wenn was in den Feldern drinsteht auch was damit gemacht wird und sunst nit.

                      Kommentar

                      Lädt...
                      X