Q.: Wer hilft mir aus meiner Endlosschleife??

Hi,

ich habe nicht den geringsten Schimmer, warum ich mit nachfolgendem Code in eine Endlosschleife gerate. Aber wenn ich die for-Schleife herausnehme, läuft das Script einwandfrei.

Viele grüße, Q.

----------------------------- schnipp -------------------------

$einzelpunkte = explode("||", $punkte);
for ($cou=0; $cou = 2; $cou++) {
if ($Vorgabe == $einzelpunkte[$cou]) { $sel="selected"; } else { $sel =""; }
$optionsfeld="<option value="$einzelpunkte[$cou]"$sel>$einzelpunkte[$cou]";
   } // end for

----------------------------- schnipp -------------------------

  1. Hallo

    for ($cou=0; $cou = 2; $cou++) {

    vielleicht möchtest Du ein Kleiner-Zeichen "<" kaufen?
    Vielleicht auch gegen ein Gleichheitszeichen eintauschen - je nach Programmlogik.

    Wieso übrigens die 2?
    Du führst ein explode durch und willst das Ergebnisarray durchlaufen,
    warum greifst Du nicht auf die Anzahl der Elemente dieses Arrays zurück?

    Freundliche Grüße

    Vinzenz

    1. Hallo

      for ($cou=0; $cou = 2; $cou++) {

      vielleicht möchtest Du ein Kleiner-Zeichen "<" kaufen?
      Vielleicht auch gegen ein Gleichheitszeichen eintauschen - je nach Programmlogik.

      Wieso übrigens die 2?
      Du führst ein explode durch und willst das Ergebnisarray durchlaufen,
      warum greifst Du nicht auf die Anzahl der Elemente dieses Arrays zurück?

      Hi Vinzenz,

      genau das mache ich. Die 2 hatte ich nur testhalber eingesetzt, um sicherzustellen, daß eine ganze Zahl dort als Wert steht.

      Grüße, Q.

  2. Hello,

    $einzelpunkte = explode("||", $punkte);

    for ($cou=0; $cou = 2; $cou++)

    {

    if ($Vorgabe == $einzelpunkte[$cou])

    {
          $sel="selected";
        }
        else
        {
          $sel ="";
        }

    $optionsfeld="<option value="$einzelpunkte[$cou]"$sel>$einzelpunkte[$cou]";
    } // end for

    Ich kann da keine Endlosschleife entdecken.
    Nur eine, die gar nicht erst startet.

    for ( Initialisierung, Laufbedingung, Laufzeit-Statements)
      {
        ## erweiterter Schleifenkörper mit weiteren
        ## Laufzeitstatements
      }

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. n'abend,

      Ich kann da keine Endlosschleife entdecken.
      Nur eine, die gar nicht erst startet.

      if( $x = 2 )  
        echo "Fühl dich darauf hingewiesen, dass eine Zuweisung grundsätzlich nach true evaluiert, es sei denn der zugewiesene Wert ist null (oder evaluiert nach false?)";
      

      weiterhin schönen abend...

      --
      Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
      sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
      1. Hello Globe,

        if( $x = 2 )

        echo "Fühl dich darauf hingewiesen, dass eine Zuweisung grundsätzlich nach true evaluiert, es sei denn der zugewiesene Wert ist null (oder evaluiert nach false?)";

          
        \*grins\*  
          
        Jaja, man wird alt... (hoffentlich jedenfalls)  
          
        Aber ich hab's in dem Moment gesehen, als es dann da so schön im Forumm stand.  
          
          
          
        Harzliche Grüße vom Berg  
        <http://bergpost.annerschbarrich.de>  
          
        Tom
        
        -- 
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen  
        Nur selber lernen macht schlau  
        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)  
          
        ![](http://bitworks.de/~selfHTML/Virencheck.gif)  
        
        
    2. Hello,

      for ($cou=0; $cou = 2; $cou++)

      ---------

      Sorry, die Brille und das hin- und herschalten von PHP zu SQL

      Die Laufbedingung ist bei Dir keine Bedingung, sondern eine Zuweisung.
      Das Ergebnis einer Zuweisung sollte in PHP immer true sein.

      Es muss heißen : $cou == 2;

      [link.http://de2.php.net/manual/de/language.operators.php]

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hallo Tom,

        for ($cou=0; $cou = 2; $cou++)
                         ---------
        Es muss heißen : $cou == 2;

        Nein, natürlich nicht. Damit wird die Schleife ja nie ausgeführt :-)

        Freundliche Grüße

        Vinzenz

        1. Hello,

          for ($cou=0; $cou = 2; $cou++)
                           ---------
          Es muss heißen : $cou == 2;

          Nein, natürlich nicht. Damit wird die Schleife ja nie ausgeführt :-)

          Genau, sagte ich doch, eine Schleife, die nie startet.
          Ich habe jetzt nur versucht, klarzumachen, was ich da gesehen habe beim ersten Blick. :-)

          Und so würde sie doch nie starten...

          Q. hat uns doch gebeten, ihm aus der Endlosschleife zu helfen, was ja nicht nötig ist, wenn man ihn gar nicht erst reinkommen lässt.

          Also mehr Ausreden fallen mir jetzt nicht ein.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      2. Moin!

        for ($cou=0; $cou = 2; $cou++)
                         ---------
        Das Ergebnis einer Zuweisung sollte in PHP immer true sein.

        Das Ergebnis einer Zuweisung ist in PHP immer der zugewiesene Wert. Der kann zu true evaluieren, oder auch zu false - je nach Wert.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hello,

          Das Ergebnis einer Zuweisung ist in PHP immer der zugewiesene Wert. Der kann zu true evaluieren, oder auch zu false - je nach Wert.

          Danke !{99}

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  3. n'abend,

    jede FOR-Schleife, kann mit einer WHILE-Schleife gebildet werden:

    for( $counter = 0; $counter < 42; $counter++ )  
    {  
      // mache irgendwas  
    }  
      
    $counter = 0;  
    while( $counter < 42 )  
    {  
      // mache irgendwas  
      $counter++;  
    }  
    
    

    wir haben in einer FOR-Schleife also 3 wichige Elemente: for( *Initialisierung*, *Bedingung*, *AusführenNachDurchlauf* )

    for ($cou=0; $cou = 2; $cou++) {

    Deine Bedingung $cou = 2; ist grundsätzlich wahr, weshalb das zur Endlosschleife wird. An diesem Punkt musst du sicherstellen, dass du etwas (sinnvolles) vergleichst. Wenn die Schleife nur 2x durchlaufen werden soll, prüfe $cou < 2.

    weiterhin schönen abend...

    --
    Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
    sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
  4. Hi,

    na klar. Es muß ein kleiner-Zeichen herein. *schäm* ;-))

    Danke für die vielen Hilfen hier im Forum!!!

    Grüße, Q.