rand

(PHP 4, PHP 5, PHP 7)

randErzeugt eine zufällige Zahl

Beschreibung

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

Liefert eine Pseudozufallszahl zwischen min und max (inklusive), oder zwischen 0 und getrandmax(), falls keine Parameter angegeben wurden. Wenn Sie z.B. einen Zufallswert zwischen 5 und 15 benötigen so wäre der Aufruf dafür rand(5, 15).

Achtung

Diese Funktion erzeugt keine kryptographisch sicheren Werte und sollte nicht für kryptographische Zwecke verwendet werden. Wenn kryptographisch sichere Werte benötigt werden, sollten stattdessen die Funktionen random_int(), random_bytes() oder openssl_random_pseudo_bytes() verwendet werden.

Hinweis: Auf manchen Plattformen (z.B. Windows) ist getrandmax() nur 32767. Wenn sie einen größeren Wertebereich benötigen sollten, so können Sie entweder einen größeren max-Wert übergeben oder besser die mt_rand()-Funktion anstelle von rand() einsetzen.

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 Folgen mit einem bestimmten Startwert sich von PHP 7.1 auf 64-bit Rechnern unterscheiden können.
7.1.0 rand() wurde zu einem Alias von mt_rand().

Beispiele

Beispiel #1 rand()-Beispiel

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

echo 
rand(515);
?>

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. (max - min) <= getrandmax(); ansonsten wird rand() möglicherweise Zufallszahlen schlechter Qualität zurückgeben.

Siehe auch