Warum spuckt das ne endlosliste aus?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by Luke; 15-10-2006, 18: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...
    Last edited by penizillin; 15-10-2006, 18:46.

    Comment


    • #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

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #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

            Comment


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

              Comment


              • #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...

                Comment

                Working...
                X