srand() und rand()

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

  • 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();
    ?>
    Last edited by MoRtAlAn; 05-08-2003, 11:47.

    Comment


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

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

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

      Comment


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

        Comment


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

          Comment


          • #6
            gut, danke.

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

            Comment

            Working...
            X