phpbar.de logo

Mailinglisten-Archive

[php] rand()

[php] rand()

Adi Sieker adi_(at)_living-source.com
Mon, 17 Apr 2000 13:48:35 GMT


On Mon, 17 Apr 2000 14:28:11 +0200, Sven Hoexter deigned to write:

>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?

Mal sehen ob ich das schaffe. :))

Wenn du random nicht seedest (witziges wort) wirst du feststellen
das rand immer die gleiche Zahlenreihenfolge liefert. Wenn du rand mit
dem gleichen seed seedest wird er dir jedesmal die gleiche
Zahlenreihenfolge liefern. Das hängt damit zusammen das der Computer
ein rein logisches gerät ist und nichts zufälliges generieren kann.
Daher musst du rand immer mit einem zufälligen seed versehen.
Das hört jetzt komisch an da der computer nichts rein zufälliges
erzeugen kann. Daher nimmt man meistens die aktuelle Zeit in
microsoeconds. Die Wahrscheinlichkeit das ein php programm oder
sonstiges program in exact der gleichen microsecond aus geführt wird,
ist zienlich unwahrscheinlich. Durch den unterschiedlichen seed werden
dann auch unterschiedliche Werte von rand erzeugt.

Konkret heisst das eine rand funktion ist nur so gut wie der
Programmierer der Sie geschrieben hat und kennt jemand deinen seed
kann er genau vorhersagen welche Zahlen du bekommen hast.


Tschau
   Adi

./e2fsck: Illegal triply indirect block found while reading bad blocks
          inode. This doesn't bode well, but we'll try to go on...
~
adi_(at)_living-source.com               tel:+761 / 15 25 8-13
http://www.living-source.com        fax:+761 / 15 25 8-50


php::bar PHP Wiki   -   Listenarchive