mt_rand
(PHP 4, PHP 5)
mt_rand — Génère une meilleure valeur aléatoire
Description
$min
, int $max
)De nombreux générateurs de nombres aléatoires provenant de vieilles bibliothèques libcs ont des comportements douteux et sont très lents. Par défaut, PHP utilise le générateur de nombres aléatoires de libc avec la fonction rand(). mt_rand() est une fonction de remplacement, pour cette dernière. Elle utilise un générateur de nombres aléatoire de caractéristique connue, le " » Mersenne Twister " qui est 4 fois plus rapide que la fonction standard libc.
Appelée sans les arguments optionnels min
et
max
, mt_rand() retourne un nombre
pseudoaléatoire, entre 0 et mt_getrandmax().
Pour obtenir un nombre entre 5 et 15 inclus, il faut utiliser
mt_rand(5,15).
Liste de paramètres
-
min
-
Valeur la plus basse qui peut être retournée (par défaut : 0)
-
max
-
Valeur la plus haute qui peut être retournée (par défaut : mt_getrandmax()).
Valeurs de retour
Un entier aléatoire compris entre min
(ou 0)
et max
(ou mt_getrandmax(), inclusif),
ou FALSE
si le paramètre max
est inférieur à
min
.
Historique
Version | Description |
---|---|
5.3.4 |
Emet une alerte de niveau E_WARNING et retourne
FALSE si le paramètre max < au paramètre
min .
|
4.2.0 | Le générateur de nombres aléatoires est initialisé automatiquement. |
Exemples
Notes
Cette fonction ne génère pas de valeurs sécurisées d'un point de vue cryptologie, et ne doit pas être utilisée dans un contexte de cryptologie. Si vous avez besoin d'un valeur sécurisée d'un point de vue cryptologique, utilisez plutôt la fonction openssl_random_pseudo_bytes().
Les valeurs retournées par la fonction mt_rand() sont
biaisées par les nombres paires pour les versions de PHP compilées sur les
architectures 64-bits lorsque le paramètre
max
est au-delà de 2^32.
Voir aussi
- mt_srand() - Initialise une meilleure valeur aléatoire
- mt_getrandmax() - La plus grande valeur aléatoire possible
- openssl_random_pseudo_bytes() - Génère une chaine pseudo-aléatoire d'octets
- rand() - Génère une valeur aléatoire