Zufallszahlen ermitteln

UweB

Aktives Mitglied
Hallo,

kann mir jemand ein Tipp gegeben wie ich aus einer Zahlenmenge (1 bis x) 3 unterschiedliche Zufallszahlen ermitteln kann? Danke!

Gruß Uwe

 
<?
$zahl = rand(0, x);
?>

edit:
falls die Zahlen nicht fortlaufenden sind, musst du sie alle einzeln in ein array speichern
und dann mit shuffle($array) mischen..
 
http://www.php.net/rand

QUOTE Benutzen Sie unbedingt srand(), um vor dem ersten Aufruf von rand() einen neuen Startwert festzulegen, ansonsten erhalten Sie bei jedem Programmlauf dieselbe Sequenz von Werten.
 
QUOTE (Josh @ Mi 3.8.2005, 6:14)http://www.php.net/rand


QUOTE Benutzen Sie unbedingt srand(), um vor dem ersten Aufruf von rand() einen neuen Startwert festzulegen, ansonsten erhalten Sie bei jedem Programmlauf dieselbe Sequenz von Werten.


->

QUOTE Anmerkung: Seit PHP 4.2.0 ist es nicht mehr nötig, den Zufallszahlengenerator zu initialisieren, bevor man ihn benutzt.
 
QUOTE (pangu @ Mi 3.8.2005, 8:47)
QUOTE (Josh @ Mi 3.8.2005, 6:14)http://www.php.net/rand


QUOTE Benutzen Sie unbedingt srand(), um vor dem ersten Aufruf von rand() einen neuen Startwert festzulegen, ansonsten erhalten Sie bei jedem Programmlauf dieselbe Sequenz von Werten.


->

QUOTE Anmerkung: Seit PHP 4.2.0 ist es nicht mehr nötig, den Zufallszahlengenerator zu initialisieren, bevor man ihn benutzt.


Der Abwärtskompatibilität halber würde ich es dennoch machen.
 
yep, kommt halt immer darauf an, für was/wo man das Script einsetzt.
Grundsätzlich finde ich es allerdings besser, wenn ein Script möglichst "schlank" ist..
 
QUOTE (pangu @ Mi 3.8.2005, 11:43) yep, kommt halt immer darauf an, für was/wo man das Script einsetzt.
Grundsätzlich finde ich es allerdings besser, wenn ein Script möglichst "schlank" ist..

Bin ich deiner Meinung, aber nicht schlanke Programme sind normalerweise auf schlechte Konzeption zurück zu führen und nicht auf solche Details.
smile.gif
 
Hallo,

einen kleinen Tipp zu den Zufallszahlen in PHP habe ich noch: nimmt besser die mt_rand [1] und mt_srand [2] Funktionen, die sind in der Regel 4 Mal schneller als bei rand und srand. rand und srand greifen auf die libc zurück um die Zufallzahlen zu erzeugen. [3] Dies ist unterem wichtig, wenn man Algorithmen verwendet.

QUOTE [...]
Die PHP rand() Funktion benutzt den in der jeweiligen libc enthaltenen Zufallsgenerator. Gerade in älteren libc-Versionen ist dieser aber oft langsam und die Qualität der erzeugten Pseudozufalls-Sequenzen ist unbefriedigend bis unbekannt.

Die Funktion mt_rand() bietet einen Drop-In Ersatz für die von der libc bereitgestellten Funktionen. Sie benutzt einen Zufallsgenerator mit bekannter Charakteristik, den sogenannten "Mersenne Twister", der Pseudozufalls-Sequenzen generiert, die auch kryptografischen Ansprüchen genügen sollten und viermal so schnell arbeitet wie der typische libc-Algorithmus.
[...]

Quelle: http://www.php.net/manual/de/function.mt-rand.php



MfG Sascha Ahlers
 
Zurück
Oben