rand

(PHP 4, PHP 5, PHP 7, PHP 8)

rand — Erzeugt eine zufĂ€llige Zahl

Beschreibung

function rand(): int
function rand(int $min, int $max): int

Gibt eine Pseudozufallszahl zwischen min und max (inklusive) zurĂŒck oder zwischen 0 und getrandmax(), falls keine Parameter angegeben wurden. Wenn z. B. ein Zufallswert zwischen 5 und 15 benötigt wird, so wĂ€re der Aufruf dafĂŒr rand(5, 15).

Achtung

Diese Funktion erzeugt keine kryptografisch sicheren Werte und darf nicht fĂŒr kryptografische Zwecke verwendet werden oder fĂŒr Zwecke, bei denen die zurĂŒckgegebenen Werte nicht abschĂ€tzbar sein dĂŒrfen.

Falls kryptographisch sichere Zufallszahlen benötigt werden, kann der Random\Randomizer mit der Random\Engine\Secure-Engine verwendet werden. FĂŒr einfache AnwendungsfĂ€lle bieten die Funktionen random_int() und random_bytes() eine bequeme und sichere API, die den CSPRNG des Betriebssystems verwendet.

Achtung

This function uses the global Mt19937 (“Mersenne Twister”) instance as the source of randomness and thus shares its state with all other functions using the global Mt19937. Using any of these functions advances the sequence for all the other functions, regardless of scope.

Generating repeatable sequences by seeding mt_srand() or srand() with a known value will also yield repeatable output from this function.

Prefer using Random\Randomizer methods in all newly written code.

Hinweis: Vor PHP 7.1.0 war getrandmax() auf manchen Plattformen (z. B. Windows) nur 32767. Wenn ein grĂ¶ĂŸerer Wertebereich benötigt wird, kann entweder ein grĂ¶ĂŸerer max-Wert ĂŒbergeben werden oder es kann stattdessen die Funktion mt_rand() verwendet werden.

Hinweis: Ab PHP 7.1.0 verwendet rand() denselben Zufallszahlengenerator wie mt_rand(). Um die AbwĂ€rtskompatibilitĂ€t zu wahren, erlaubt rand(), dass max kleiner als min ist, ohne wie mt_rand() false zurĂŒckzugeben.

Parameter-Liste

min

Der niedrigste zurĂŒckzugebende Wert (Vorgabe: 0)

max

Der höchste zurĂŒckzugebende Wert (Vorgabe: getrandmax())

RĂŒckgabewerte

Ein Pseudozufallswert zwischen min (oder 0) und max (oder getrandmax(), inklusive).

Changelog

Version Beschreibung
7.2.0 rand() erhielt einen Bugfix fĂŒr einen Modulus-Verzerrungsfehler. Das bedeutet, dass sich Folgen mit einem bestimmten Startwert ab PHP 7.1 auf 64bit-Rechnern unterscheiden können.
7.1.0 rand() ist nun ein Alias von mt_rand().

Beispiele

Beispiel #1 rand()-Beispiel

<?php
echo rand(), "\n";
echo
rand(), "\n";

echo
rand(5, 15), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine Àhnliche Ausgabe wie:

7771
22264
11

Anmerkungen

Warnung

Der Bereich zwischen min und max muss innerhalb von getrandmax() liegen, d. h. abs(max - min) <= getrandmax(). ansonsten wird rand() möglicherweise Zufallszahlen schlechter QualitĂ€t zurĂŒckgeben.

Siehe auch

  • srand() - Legt den Anfangswert fĂŒr den Zufallsgenerator fest
  • getrandmax() - Liefert die grĂ¶ĂŸtmögliche Zufallszahl
  • mt_rand() - Erzeugt eine Zufallszahl nach dem Mersenne-Twister-Verfahren
  • random_int() - Get a cryptographically secure, uniformly selected integer
  • random_bytes() - Get cryptographically secure random bytes
add a note

User Contributed Notes

There are no user contributed notes for this page.