do/while bringt genau den wert den ich ausgeschlossen habe

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

  • do/while bringt genau den wert den ich ausgeschlossen habe

    hi leuts,

    ich erzeuge zufallszahlen von 1-4 allerdings soll nie 3 kommen. es kommt aber andauernd 3. was paßt hier nicht?

    do {
    srand((double)microtime()*1000000);
    $zf_zahl = rand(0,4);
    } while ($zf_zahl != 3);
    echo "wert=$zf_zahl";

    $PHP resource 4ever$

  • #2
    dein logikprozessor is kaputt

    wie soll php denn was anderes als 3 liefern, wenn die schleife so lang durchlaufen wird, wie in $zf_zahl nicht 3 steht?

    btw:
    In older versions of PHP, you had to seed the random number generator before use with srand(). Since 4.2.0 this is no longer necessary.
    und du machst das jedesmal...
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      is bestimmt die hitze...
      eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

      Kommentar


      • #4
        Deine Schleife laeuft solange bis eine 3 erzeugt wird und DANN machst du das echo ...

        so werden solange Zufallszahlen ausgegeben bis eine 3 erzeugt wurde:
        PHP-Code:
        do {
          
        srand((double)microtime()*1000000);
          
        $zf_zahl rand(0,4);
          echo 
        "wert=$zf_zahl";
        } while (
        $zf_zahl != 3); 

        Kommentar


        • #5
          jetzt check ich überhaupt nix mehr.

          wenn ich das echo in die schleife reinsetze dann bekomme ich plötzlich total viele ergebnisse, immer mit einer anderen zufallszahl; die drei ist leider noch immer dabei.
          ausserdem: was hat die echoausgabe mit der schleife zu tun? ich meine, warum läuft sie deswegen öfter durch?

          in der while-bedingung sag ich php doch "!=3" (=mach solange zufallszahlen bis die zufallszahl ungleich 3 ist weil eben nur 1, 2 od. 4 kommen soll)

          @mrhappiness
          meine php-version am server ist 4.3.2.
          soll das heißen, dass ich "srand((double)microtime()*1000000);" nicht mehr benötige und trotzdem immer andere zufallswerte bekomme?

          Zuletzt geändert von Metallica; 06.08.2003, 14:50.
          $PHP resource 4ever$

          Kommentar


          • #6
            seht witzig...
            in der while-bedingung sag ich php doch "!=3" (=mach solange zufallszahlen bis die zufallszahl ungleich 3 ist weil eben nur 1, 2
            ...das stimmt so nicht ganz:
            du sagst 'mach mir ne neue zufallszahl, weil die alte nicht 3 ist'

            nochmal langsam: aus '!=' mach '=='...
            eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

            Kommentar


            • #7
              achsoooo, es ist genau umgekehrt.

              es tut mir schrecklich leid, das hab ich wohl aus der ref. heraus falsch verstanden.

              mit == funkt's!!

              DANKE!!!!
              $PHP resource 4ever$

              Kommentar


              • #8
                Wenn du nur eine Zufallszahl haben willst also so:

                PHP-Code:
                do {
                  
                srand((double)microtime()*1000000);
                  
                $zf_zahl rand(0,4);
                } while (
                $zf_zahl == 3);
                echo 
                "wert=$zf_zahl"

                Kommentar

                Lädt...
                X