Warum spuckt das ne endlosliste aus?

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

  • Warum spuckt das ne endlosliste aus?

    Hi,
    Im folgenden Code generiere ich eine zufällige Zeilenanzahl von 1-6, pro Zeile soll dann ein zufälliger String, ein " - ", und die Zeichenanzahl des Strings im drei-zeichen-format (z.B. "001" oder "012" oder "124") stehen. Wenn ich jedoch die kommentierten Zielen entkommentiere, spuckt er mir eine endlose Liste aus! Ich versteh nicht warum! Hier der Code:

    PHP-Code:
      $num_albums rand(06);
      for(
    $i=0;$i<=5-strlen($num_albums);$i++)
          
    $num_albums "0".$num_albums;  
      echo 
    $num_albums;
      
      
    $album_rows $num_albums;
      if(
    $album_rows == 0$album_rows 1;
      for(
    $i=0;$i<$album_rows;$i++)
      {
          
    $album_name   rand_string();
          
    $album_length strlen($album_name);
          
    $album_length_l strlen($album_length);
    //      for($i=0;$i<=3-strlen($album_length_l);$i++) {
    //          $album_length = "0".$album_length;
        
    }
        echo 
    "<br />".$album_name." - ".$album_length;
      } 
    Wie kann man das Problem fixen?

    Vielen Dank,
    Luke
    Zuletzt geändert von Luke; 15.10.2006, 19:39.

  • #2
    die erste schleife kannst du mal gegen http://de3.php.net/manual/en/function.sprintf.php eintauschen.

    bei der zweiten würde mich $album_rows interessieren.

    p.s. hast du dir mal angesehen, was du da auskommentierst? gib dir doch wenigstens mal mühe den code zu zeigen, den du _wirklich_ ausführst.

    p.p.s. verschachtelte schleifen => gleiche laufvariablennamen? soso...
    Zuletzt geändert von penizillin; 15.10.2006, 19:46.

    Kommentar


    • #3
      die erste schleife kannst du mal gegen http://de3.php.net/manual/en/function.sprintf.php eintauschen.
      Danke sehr, obwohl ich dachte 'so was müsste es doch geben' kannte ich das padding nicht, hat sehr geholfen, danke.

      gib dir doch wenigstens mal mühe den code zu zeigen, den du _wirklich_ ausführst.
      ??

      verschachtelte schleifen => gleiche laufvariablennamen? soso...
      Das hier ist kein richtiges PHP script. Ich brauche nur einen Teststring für ein C projekt an dem ich grad hänge, dafür reicht auch der mülligste code.

      Und für alle lobhaften Menschen die die SuFu benutzen und evtl. das hier finden, hier die Lösung:

      PHP-Code:
          $num_albums sprintf("%04d"rand(06));
        echo 
      $num_albums;
        
        
      $album_rows $num_albums;
        if(
      $album_rows == 0$album_rows 1;
        for(
      $i=0;$i<$album_rows;$i++)
        {
            
      $album_name   rand_string();
            
      $album_length sprintf("%03d"strlen($album_name));
          echo 
      "<br />".$album_name." - ".$album_length;
        } 
      Vielen Dank nochmal

      Kommentar


      • #4
        ??
        der code ist in der form syntaktisch nicht i.o. das ist uncool.

        [...] dafür reicht auch der mülligste code.
        es geht nicht um den stil, es geht um die semantische korrektheit.

        Kommentar


        • #5
          PHP-Code:
          $num_albums sprintf("%04d"rand(06));
            
          $album_rows $num_albums;
            if(
          $album_rows == 0$album_rows 1
          cooles wtf.
          warum nicht gleich
          PHP-Code:
          $album_rows rand(1,6);
          $num_albums sprintf("%04d"$album_rows); 
          ?
          Code:
          100 goto 102
          101 goto 105
          102 goto 101
          ist ähnlich sinnvoll.

          grüße
          axo

          Kommentar


          • #6
            Original geschrieben von penizillin
            der code ist in der form syntaktisch nicht i.o. das ist uncool.

            es geht nicht um den stil, es geht um die semantische korrektheit.
            was jetzt? semantik oder syntax? oder beides? oder doch die pragmatik?

            cya
            axo

            Kommentar


            • #7
              beides. syntax im bezug auf die lauffähigkeit des schnippsels, semantik im bezug auf den fehler in der verschachtelung der schleifen.

              Kommentar


              • #8
                warum nicht gleich
                Weil ich die Zahl 0 ausgeben, aber trotzdem eine Zeile schreiben möchte.

                Und ja, ich hab mittlerweile auch gemerkt dass ich 2 mal $i benutzt habe...

                Kommentar

                Lädt...
                X