Probleme mit einer For-Schleife

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

  • Probleme mit einer For-Schleife

    Hey, ich hab mal wieder ein Problem:

    ich hab flgenden Code:

    <?php

    ...
    ....

    echo $anzahl; //in diesem Fall 12
    for($i=0; $i<$anzahl; $i++)
    {
    $vergleichswert = $zeitraum[i];
    while(list($key, $value) = each ($datay))
    {
    //lasse mir ausgeben, was verglichen wird
    echo $vergleichswert, " #### ", $value, "<br>";
    if ($vergleichswert==$value)
    {
    $yWerte[]=$anzahl[$key] ;
    }
    else
    {
    $yWerte[]=0;
    }
    }
    }


    So wie ich das sehe, muss die For-Schleife 12 mal ausgeführt werden. Sie wird aber nur 1 mal ausgeführt, ich erhalte nur die Vergleichswerte für $i=0;

    Habe ich da noch vielleicht einen Denkfehler???

  • #2
    Bitte erstmal lesen: http://www.php-resource.de/forum/sho...threadid=50454
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      sorry, bin neu in diesem forum

      PHP-Code:

      echo $anzahl//in diesem Fall 12
      for($i=0$i<$anzahl$i++)
      {
      $vergleichswert $zeitraum[$i];
      while(list(
      $key$value) = each ($datay))
      {
      //lasse mir ausgeben, was verglichen wird
      echo $vergleichswert" #### "$value"<br>";
      if (
      $vergleichswert==$value)
      {
      $yWerte[]=$anzahl[$key] ;
      }
      else
      {
      $yWerte[]=0;
      }
      }

      Zuletzt geändert von mobo81; 11.03.2006, 13:06.

      Kommentar


      • #4
        Sicher dass echo $anzahl; eine 12 ausgibt?

        Für mich sieht das ganze nach einem Array aus....! count benutzen
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          ich lass doch $anzahl ausgeben. da erhalte ich die 12

          Kommentar


          • #6
            Also wo der Fehler ist sehe ich auf einen Blick.

            Aber ich denke mobo81 sollte sich etwas systematischer grundausbilden, vielleicht mal ein einführendes Buch lesen, zB. O'Reilly PHP Cookbook. Gibts auch als e-book und als e-mule-book. Oder mal systematisch alles was zu den, im inkriminierten Code-Abschnitt verwendeten, Sprachkonstrukten, im php-manual lesen. Das eine oder das andere oder beides. Und bitte nicht schon wieder beleidigte Reaktionen.

            Kommentar


            • #7
              ich denke, ich verfüge über die Grundausbildung.

              Nur manchmal sieht man einen Fehler nicht direkt. Und einem anderen Betrachter fällt dieser sofort ins auge. Deshalb sind doch Foren da, und das Wissen auszutauschen, oder???

              Korrigier mich, wenn ich falsch liege.

              Kommentar


              • #8
                hm - besser $i gell?

                PHP-Code:
                $vergleichswert $zeitraum[$i]; 

                Kommentar


                • #9
                  Koala:
                  hm - besser $i gell?
                  Nein und Ja. Was i anstatt $i gibt, lässt nochmals tiefblicken
                  PHP-Code:
                  Notice: Use of undefined constant i assumed 'i' in ***.php on line ***
                  NoticeUndefined indexi in ***.php on line *** 
                  mobo81:
                  ich denke, ich verfüge über die Grundausbildung.
                  Erzähl mal.

                  PS wie kommt es, dass die Zitate von anderen bold sind und meine thin.

                  Kommentar


                  • #10
                    in diesem Fall ist aber keine Konstante gemeint

                    Kommentar


                    • #11
                      mobo81 hat die Fehlermeldung ("notice") nicht gesehen, davon der tiefblick.

                      Kommentar


                      • #12
                        Oh sorry, das war nur ein Tippfehler. Im Original habe ich $zeitraum[$i] stehen. Das ist nicht der fehler.

                        Kommentar


                        • #13
                          wär schön, wenn du copy/paste benutzen würdest und das Original posten würdest.

                          Wenn in $anzahl 12 steht dann wird die Schleife auch 12 mal durchlaufen, kannst ja prüfen mit echo $i;.

                          Kommentar


                          • #14
                            Ist $anzahl eine Zahl oder ein Array? (Wurde schon erwähnt, hast du aber scheinbar überlesen.)

                            Kommentar


                            • #15
                              Auch sorry, es gab also keine notice-meldung. Versuch mal foreach ... as... anstatt while...... each.

                              Kommentar

                              Lädt...
                              X