Mailinglisten-Archive |
Sven Hoexter wrote: > > Am Mon, 17 Apr 2000, schrieb Mark Kronsbein: > > Jens Kohl wrote: > > > ich das mit rand(3000,4000); versucht, allerdings kommt da immer die gleiche > > > Zahl raus. egal wie oft ich auf reload drücke oder sonstiges. > > > > Du mußt den Zufallsgenerator erst noch anschmeißen. > > Schau dir mal srand() an. > Da hat mich ein Freund auch letztens drauf hingewiesen aber er > konnte mir keine Erklärung liefern was dieses seeden ist bzw. was > es tut. Hat da jemand eine Erklärung für mich? > > Gerne auch PM. > > Cu, > Sven > > -- > ** Durchgehend geöffnet: http://www.php-center.de ** > Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de > http://infosoc.uni-koeln.de/mailman/listinfo/php void srand(int seed); Legt einen internen Startwert für den Zufallsgenerator in rand()() fest. Gleiche Startwerte führen auch jeweils zu derselben Pseudo-Zufallssequenzen, daher ist es üblich, diese über die aktuelle Uhrzeit festzulegen: ... (http://www.phpcenter.de/de-html-manual/function.srand.html) Es sind halt nur _Pseudo_zufallszahlen, die nach einem deterministischen Algorithmus erzeugt werden. Die Verteilung der Werte ist dabei nach statistischen Kriterien hinreichend zufällig (bei mt_rand() mehr, bei rand() nicht ganz so perfekt), um als Zufallsinput für statistische oder kryptografische Zwecke dienen zu können, andererseits aber durch den Altogrithmus und den Startwert festgelegt, so daß reproduzierbare Ergebnisse möglich sind. Deshalb liefert ein rand() ohne vorheriges srand() oder bei vorherigem srand() mit immer gleichem Parameter auch immer dieselben Werte. Will man es wirklich zufällig, so benutzt man für srand() einen nich deterministischen Startwert, wie z.B. die aktuelle Uhrzeit in Mikrosekunden. Diese hängt vom Startzeitpunkt des Skriptes ab und ist somit hinreichend zufällig bzw. nicht vorhersehbar. Wem _pseudo_ nicht zufällig genug ist, der kann sich in der Natur bedienen, z.B. beim Grundrauschen elektronischer Schaltungen oder beim radioaktiven Zerfall, aber dann brauchts extra Hardware ... -- Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de
php::bar PHP Wiki - Listenarchive