kostenloser Webspace werbefrei: lima-city


rand und mt_rand

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mir ist nur bekannt, dass mit
    rand()
    nur Zahlen bis maximal 32767 erzeugt werden können, so wie es auch in der Dokumentation steht. Wenn Du also kleiner bleibst, nimm einfach
    rand()
    , ansonsten
    mt_rand()
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    tobiworlds schrieb:
    Mir ist nur bekannt, dass mit
    rand()
    nur Zahlen bis maximal 32767 erzeugt werden können, so wie es auch in der Dokumentation steht. Wenn Du also kleiner bleibst, nimm einfach
    rand()
    , ansonsten
    mt_rand()
    Bevor du schreibst wäre es nicht schlecht dich ein bisschen zu informieren ;-)

    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…
  5. 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.
  6. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    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
  7. Laut einem Beispiel http://www.php.net/manual/de/function.mt-rand.php#107738 ja; diesmal hab ich mich besser informiert ;)
  8. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    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
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    unlikus schrieb:
    Mich würde noch interessieren, wie die Zahlen ermittelt werden
    Das kannst du dir hier durchlesen.
  10. 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
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!