(PHP 4, PHP 5, PHP 7, PHP 8)
rand — Génère une valeur aléatoire
Appelée sans les options min
et
max
, rand() retourne un
nombre pseudoaléatoire entre 0 et getrandmax().
Si vous voulez un nombre aléatoire entre 5 et 15
(inclus), par exemple, utilisez rand (5, 15)
.
Cette fonction ne génère pas de valeurs cryptographiquement sûres, et ne doit pas être utilisée à des fins cryptographiques, ou à des fins qui exigent que les valeurs renvoyées soient indéchiffrables.
Si de l'aléatoire cryptographiquement sûre est requis, le Random\Randomizer peut être utilisé avec le moteur Random\Engine\Secure. Pour des cas d'usage simple, les fonctions random_int() et random_bytes() fournissent une API pratique et sûre qui est qui est soutenu par le CSPRNG du système d'exploitation.
Note: Sur quelques plates-formes (par exemple, Windows), mt_getrandmax()est limité à 32767. Si vous désirez une limite supérieure à 32767, en spécifiant
min
etmax
, vous serez autorisés à utiliser un intervalle plus grand que mt_getrandmax(), ou bien, utilisez la fonction mt_rand() à la place.
Note: À partir de php 7.1.0, rand() utilise le même générateur de nombres aléatoires que mt_rand(). Pour préserver la compatibilité ascendante, rand() permet à
max
d'être plus petit quemin
par opposition au retourfalse
de mt_rand()
min
La plus petite valeur à retourner (par défaut, 0)
max
La plus grande valeur à retourner (par défaut, mt_getrandmax())
Une valeur pseudoaléatoire, comprise entre
min
(ou 0) et
max
(ou mt_getrandmax(), inclusif).
Version | Description |
---|---|
7.2.0 | rand() a reçu une correction de bogue pour un bug de polarisation modulo. Cela signifie que les séquences générées dans certain cas spécifiques peuvent différer de php 7.1 sur les machines 64-bit. |
7.1.0 | rand() a été fait un alias de mt_rand(). |
Exemple #1 Exemple avec rand()
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>
Résultat de l'exemple ci-dessus est similaire à :
7771 22264 11
La plage min
max
doit se situer
dans la plage getrandmax(). i.e. (max
- min
) <= getrandmax() sinon,
rand() peut retourner des nombres aléatoires de mauvaise
qualité.