rand und mt_rand
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
buchen
code
dokumentation
durchlesen
entschuldigung
ergebnis
funktion
gelaber
http
interessieren
manual
quersumme
rand
richtig funktionieren
schleifen
unerwartete verhaltensweisen
url
version
vollwertiger ersatz
zahl
-
Ich habe ein Script, das sehr viele Zufälle braucht. Habe im Internet gescuht und die Funktionen rand und mt_rand gefunden.
Allerdings meist mit der Warnung, dass die Funktionen in Schleifen nicht richtig funktionieren könnten.
Jetzt meine Frage: Wie kann ich ressourcensparden in kurzer Zeit sehr viele Zufälle erzeugen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mir ist nur bekannt, dass mit
nur Zahlen bis maximal 32767 erzeugt werden können, so wie es auch in der Dokumentation steht. Wenn Du also kleiner bleibst, nimm einfachrand()
, ansonstenrand()
mt_rand()
-
tobiworlds schrieb:
Bevor du schreibst wäre es nicht schlecht dich ein bisschen zu informieren
Mir ist nur bekannt, dass mit
nur Zahlen bis maximal 32767 erzeugt werden können, so wie es auch in der Dokumentation steht. Wenn Du also kleiner bleibst, nimm einfachrand()
, ansonstenrand()
mt_rand()
http://php.net/manual/de/function.mt-rand.php:
Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht langsam. Standardmäßig verwendet PHP den libc-Zufallszahlengenerator mit der Funktion rand(). Die Funktion mt_rand() kann jedoch als vollwertiger Ersatz verwendet werden. Sie verwendet einen Zufallszahlengenerator mit den bekannten Charakteristika der » Mersenne Twister, die Zufallszahlen viermal schneller generiert als der durchschnittliche libc-rand()-Aufruf.
mt_rand ist ein schnellerer Zufallszahlengenerator, der noch dazu zufälligere Ergebnisse liefert. Deshalb liegt es nahe diese Funktion einzusetzen… -
OK, dann vielen Dank und Entschuldigung für mein unqualifiziertes Gelaber, aber ich habe noch keine Probleme gehabt;
d.h ich werde auch umsteigen, wenn es tatsächlich noch andere, schwerwiegendere Vorteile gibt. -
die Funktione mt_rand gibt also auch in schleifen grundsätzlich zufällige Ergebnisse?
Beitrag zuletzt geändert: 4.11.2012 12:23:43 von unlikus -
Laut einem Beispiel http://www.php.net/manual/de/function.mt-rand.php#107738 ja; diesmal hab ich mich besser informiert ;)
-
habs grad selber ausprobiert.
100.000 Zufallszahlen (von 1 bis 100) in 0,1 Sekunden
Die sehen auch recht zufällig aus.
Mich würde noch interessieren, wie die Zahlen ermittelt werden -
unlikus schrieb:
Das kannst du dir hier durchlesen.
Mich würde noch interessieren, wie die Zahlen ermittelt werden -
Diese Zahlen werden durch eine im "Handler" also einem Umsetzer gebracht die dann
durch die Quersumme 2 geteilt werden und durch erneut Zufällige Handler gebracht werden.
Das echo wäre jetzt die gezeigte Zahl.
Quelle: Buch - PHP für Anfänger von Databecker -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage