moe: unendliche Schleife

Hi

Ich wollte mal Fragen obs in PHP sowas wie ein Zeichen für "unendlich" gibt, zum Beispiel um eine Schleife solange laufen zu lassen bis sie das richtige Ergebnis erhält. -1 habe ich schon getestet, da bekomm ich nen Fehler zurück...

mfg
moe

  1. Hi!

    Ich wollte mal Fragen obs in PHP sowas wie ein Zeichen für "unendlich" gibt, zum Beispiel um eine Schleife solange laufen zu lassen bis sie das richtige Ergebnis erhält. -1 habe ich schon getestet, da bekomm ich nen Fehler zurück...

    Was meinst du genau mit deiner Aussage »bis sie das richtige Ergebnis erhält«? Wodurch zeichnet sich ein solches Ergebnis aus? Ansonsten lassen sich Endlosschleifen generell z.B. mit folgenden Konstrukten erzeugen:

      
      
    while(TRUE) {  
        do_something();  
    }  
      
    for(;;) {  
        do_something();  
    }  
      
    
    

    Mittels break; lassen sich diese Schleifen dann abbrechen.

    Grüße,
    Fabian St.

    1. Hi

      Also wenn du beispielsweise nen Produktkatalog hast und nicht weisst welche Seite du gerade "hast" dann musst du ja ne schleife starten die überprüft welche Seite grad da is:

      for ($i=0; $i<=//Zeichen fuer unendlich *g*//; $i++)
      {

      if ($seite==$i)
       {
        //auszuführender Code//
       }
      }

      und da wärs net schlecht n Zeichen für "unendlich" zu haben. Also ich mach noch net lang PHP also gibts da wahrscheinlich ne viel bessere variante des zu lösen...aber grundsätzlich gibts son Zeichen nicht oder?

      mfg
      moe

      1. for ($i=0; $i<=//Zeichen fuer unendlich *g*//; $i++)
        {

        if ($seite==$i)
        {
          //auszuführender Code//
        }
        }

        aber grundsätzlich gibts son Zeichen nicht oder?

        nein, weil es Schwachsinn wäre. Es gibt verschiedene Schleifentypen. Einige sind eben dazu gemacht die Schleife eine bestimme Anzahl oft auszuführen, da hast Du oben ein Beispiel für angegeben. Du kannst das was Du oben willst so realisieren z.B.:

        $irgendirgendnevariablee;
        true>$i=0;
        while whileendirgendnevariable
          if ($sifte=seite� {
            break;break>  }  else elsebr />    $i++;
          }
        }
        echo 'echoe '.$i;

        $irgendirgendnevariableMMER true, true wird die Schleife immer wieder ausgeführt. Wenn es wirklich die Seite ist, dann wird die Schleife mit break;breakrbrochen und das gegenwärtige $i ausgegeben, wenn nicht wird $i inkrementiert und die Schleife neu gestartet.

        Aber ich verstehe nicht, warum du $i überhaupt brauchst, ist in meinen Augen völliger Schwachsinn da $i ja im besten Fall dann ja genau den selben Wert hat wie $seite,seite ließ deinen gesuchten wert doch direkt aus:

        echo 'echoe '.$seite;seite>
        Lutz
        Lutz

        1. $irgendirgendnevariable;
          true>$i=0;
          while whileendirgendnevariable
            if ($sifte=seite� {
              break;break>  }  else elsebr />    $i++;
            }
          }
          echo 'echoe '.$i;

          ich weiss nicht, warum dieses Forum mir immer diese Scripts kaputtmacht, aber ich habe jetzt keine Zeit mehr, das nochmal einzugeben, sorry!

          Lutz

          1. Hallo Lutz.

            ich weiss nicht, warum dieses Forum mir immer diese Scripts kaputtmacht,

            Hier werden alle Inhalte UTF-8-kodiert gespeichert und ausgeliefert, was ein breites Spektrum an problemlos darstellbaren Zeichen bietet.

            aber ich habe jetzt keine Zeit mehr, das nochmal einzugeben, sorry!

            Hättest du es eingegeben, wäre das Sonderzeichen korrekt gespeichert worden...

            Einen schönen Samstag noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Opera Mini on Treo
            Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Hallo,

              Hättest du es eingegeben, wäre das Sonderzeichen korrekt gespeichert worden...

              wie kann man denn die Zeichen falsch eingeben? *am'kopf'kratz*

              mfg
              Twilo

              1. Hello,

                wie kann man denn die Zeichen falsch eingeben? *am'kopf'kratz*

                Über das falsche Eingabe-Tool.
                Wenn Du z.B. etwas aus einem Editor in eine Textarea mittels Copy 'n' Paste kopierst, dann kann das schon zu problemen kommen...

                Harzliche Grüße vom Berg
                esst mehr http://www.harte-harzer.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
      2. Hi!

        Also wenn du beispielsweise nen Produktkatalog hast und nicht weisst welche Seite du gerade "hast" dann musst du ja ne schleife starten die überprüft welche Seite grad da is:

        for ($i=0; $i<=//Zeichen fuer unendlich *g*//; $i++)
        {

        if ($seite==$i)
        {
          //auszuführender Code//
        }
        }

        und da wärs net schlecht n Zeichen für "unendlich" zu haben. Also ich mach noch net lang PHP also gibts da wahrscheinlich ne viel bessere variante des zu lösen...aber grundsätzlich gibts son Zeichen nicht oder?

        Nein, ein solches Zeichen gibt es nicht, jedoch sollte es kein Problem darstellen, mit meinem obigen Post, das zu erreichen, was du willst:

          
          
        $i = 0;  
          
        while(TRUE) {  
            if($seite == $i) {  
                // weiterer Code  
                break; // nicht vergessen!  
            } else {  
                $i++;  
            }  
        }  
          
        
        

        Inwiefern dieses Code-Schnippsel wirklich Sinn macht und ob es nicht besser realisiert werden könnte, musst du für dich selbst entscheiden, da sich mir noch nicht wirklich dein Vorhaben erschließt - soll das ganze denn eine Art Blätterfunktionen werden?

        Grüße,
        Fabian St.