srand() und rand()

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

  • srand() und rand()

    hi leuts,
    ich will eine zufallszahl von 1 bis 4 erzeugen wobei drei nie kommen darf.
    jetzt habe ich gerade in der referenz gelesen, dass man srand() vor rand() verwenden muss damit man nicht immer den gleichen zufallswert bekommt. leider ist mir aber nicht ganz klar wie man die beiden randoms syntaxmäßig einsetzt.

    code:
    do {
    srand((double)microtime()*1000000); //von der Referenz
    $zf_value = rand(1,5); //wie bringe ich die beiden random-funktionen in verbindung???
    } while ($zf_value != 3);

    $PHP resource 4ever$

  • #2
    nimm das hier:

    PHP-Code:
    <?php

    function randval() {
        
    srand ((double)microtime()*1000000);
        
    $randval rand(1,4); //zufallszahl
        
    if ($randval == 3) { //Zufallszahl == 3 ? => nochmal!
            
    randval();
        }
        return 
    $randval;
    }

    echo 
    randval();
    ?>
    Zuletzt geändert von MoRtAlAn; 05.08.2003, 10:47.

    Kommentar


    • #3
      so würde ich sagen...

      PHP-Code:
      while($rand!="3")
       {
        
      $rand=rand (1,4);
       }

      echo 
      $rand// dürfte jetzt nicht 3 sein. 

      Kommentar


      • #4
        @MoRtAlAn
        du bringst in deinem coding auch srand mit rand nicht in verbindung. verstehe ich dass richtig, dass man den srand-befehl nur in den code einfügen muss um die random (damit sie immer andere werte erzeugt) zu initialisieren??

        noch was: ist es nicht besser das konstrukt "!=3" gleich in einer do-while-schleife abzufangen anstatt extra 'ne if zu machen und die funktion erneut aufzurufen??
        $PHP resource 4ever$

        Kommentar


        • #5
          srand legt nur einen Startwert fest, mehr unter:
          http://de3.php.net/manual/de/function.srand.php

          klar kannst du das auch mit ner schleife machen!

          was letztendlich performanter ist, musst du mal benchmarken (auch wenn sich der aufwand dafür nicht lohnt )...

          gruss

          Kommentar


          • #6
            gut, danke.

            dann müßte mein scripting vom eröffnungsthread also passen.
            $PHP resource 4ever$

            Kommentar

            Lädt...
            X