kostenloser Webspace werbefrei: lima-city


Zufallszahl generieren?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.

    Hallo,
    wie generiert man mit PHP eine Zufallszahl, m?glichst mit 5 oder mehr Stellen?
    Vielen Dank, lagerhaus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Das geht mit der rand() Funktion.

    In deinem Fall w?hre das
    $var = rand(10000, 99999); // Gibt eine 5-stellige zufalls zahl

    hier gibt es mehr Informationen:
    http://de3.php.net/manual/de/function.rand.php

    EDIT 0-checka
    Der Vollst?ndigkeit halber sei auch hier erw?hnt, dass die Funktion srand() vor rand() aufgerufen werden sollte.


  4. EDIT 0-checka
    Der Vollst?ndigkeit halber sei auch hier erw?hnt, dass die Funktion srand() vor rand() aufgerufen werden sollte.


    Der vollen Vollst?ndigkeit halber sei erw?hnt, dass diese Vorgehensweise seit PHP-Version 4.2.0 nicht mehr n?tig ist (also beispielsweise bei Lima-City-Webspace).

    Die Online-Doku mit vielen n?tzlichen Beispiel-Scripts:
    http://de.php.net/manual/de/function.rand.php

    MfG
    alcoplex
  5. so, wenn wir schon beim Thema Zufall sind, es gibt in PHP oder sonst einer anderen Sprache kein absoluten Zufall, denn auch die Computer suchen die Zahl nach einem bestimmten logaritmus raus.!

    mfg
    ninja02
  6. m***s


    so, wenn wir schon beim Thema Zufall sind, es gibt in PHP oder sonst einer anderen Sprache kein absoluten Zufall, denn auch die Computer suchen die Zahl nach einem bestimmten logaritmus raus.!

    Computer berechnen die Zahl wohl eher nach einem Algorithmus und nicht einem Logarithmus, aber sonst stimmt es was du sagst.
    Allerdings gibt es z.B. in Delphi doch recht gute Zuf?llige Zahlen, da dort meines Wissens nach die Uhrzeit zu Hilfe genommen wird, die sich ja un nie gleich ist.


  7. so, wenn wir schon beim Thema Zufall sind, es gibt in PHP oder sonst einer anderen Sprache kein absoluten Zufall, denn auch die Computer suchen die Zahl nach einem bestimmten logaritmus raus.!

    Computer berechnen die Zahl wohl eher nach einem Algorithmus und nicht einem Logarithmus, aber sonst stimmt es was du sagst.
    Allerdings gibt es z.B. in Delphi doch recht gute Zuf?llige Zahlen, da dort meines Wissens nach die Uhrzeit zu Hilfe genommen wird, die sich ja un nie gleich ist.


    gut, dann bin ich da wohl durhceinander gekommen ;)
    Aber was hat das mit der Uhr zu tun, w?ren dann 2 Zahlen, die zur selben UHrzeit (oider meinste die Zeit, die seit 1970 in secunden l?uft) generiert werden die gleichen sein=?

    ninja02
  8. m***s

    Ich wei? nicht, wie das genau geschieht, ich wei? nur, das die Uhrzeit (Ob richtige Uhrzeit oder z.B der Unix-Timestamp, ka) eine Rolle spielt.
    Ich vermute aber mal, dass da noch andere Faktoren eine Rolle spielen.
  9. Die in diversen Programmiersprachen vorhandenen Zufallsfunktionen berechnen meist eine pseudozuf?llige duale Gleitkommazahl, die irgendwo zwischen 0 und 1 liegt. Man nimmt dazu eine Startzahl und erzeugt aus dieser mit der Formel eine neue Zahl. Deshalb brauchen "Zufallsfunktionen" immer einen Startwert. Der gleiche Startwert erzeugt immer auch den gleichen Pseudozufallswert. W?rde man auf diese Art beispielsweise einen Spielw?rfel programmieren (Bereich: 1--6), w?rde, egal wann und wie das Programm gestartet werden w?rde, beim ersten Wurf immer die gleiche Zahl fallen.

    Daher nimmt man einen m?glichst nicht vorhersehbaren Zahlenwert irgendwo aus dem Betriebssystem und benutzt diesen als Startwert f?r die Pseudozufallsfunktion. Nun wird der Zufallsgenerator immer an einem anderen Pseudozufallswert beginnen. Ein Beispiel w?ren irgendwelche Milisekunden-Werte eines internen Timer. Der Unix-Timestamp ist meines Erachtens nicht daf?r geeignet, da er zu grob ist (Sekundenbasis).

    MfG
    alopex

  10. Daher nimmt man einen m?glichst nicht vorhersehbaren Zahlenwert irgendwo aus dem Betriebssystem und benutzt diesen als Startwert f?r die Pseudozufallsfunktion. Nun wird der Zufallsgenerator immer an einem anderen Pseudozufallswert beginnen. Ein Beispiel w?ren irgendwelche Milisekunden-Werte eines internen Timer. Der Unix-Timestamp ist meines Erachtens nicht daf?r geeignet, da er zu grob ist (Sekundenbasis).


    Was ist das denn f?r ein Argument???
    M?chtest du den Zufallsgenerator immer wieder neu Initialisieren?
    Allerdings sind dann auch Milisekunden zu ungenau.
    Wenn man ihn nur einmal initialisiert reichen Sekunden v?llig aus.
    Denn du wirst doch nicht deine Seite ?fters als ein mal in der Sekunde neuladen.
    Wenn der Startwert sich nur um eine Zahl unterscheidet, sollte ein v?llig anderes Ergebniss rauskommen.

    Was ist denn das Problem der Pseudozufallsfunktion?
    Das Problem dieser Funktionen ist, dass sie Muster bilden.
    D.h. Wenn man mehrere Zufallszahlen zieht stehen sie in einen strukturierten Verh?lltniss.
    Allerdings ist dieser Effekt wirklich nur bei Programmen entscheiden, welche sehr viele Zufallszahlen ziehen. Denn dieser Muster sind bei ein paar hintereinader folgenden Zufallszahlen nicht zu erkennen.
    F?r einfache Programme reichten die Zufallzahlen v?llig aus.

    Jens
  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!