mt_rand
(PHP 4, PHP 5, PHP 7, PHP 8)
mt_rand — Génère une valeur aléatoire via le générateur de nombre aléatoire Mersenne Twister
Description
De nombreux générateurs de nombres aléatoires
provenant de vieilles bibliothèques libcs ont des comportements
douteux et sont très lents. mt_rand() est une
fonction de remplacement pour rand(). 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)
.
Attention
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.
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
.
Exemples
Exemple #1 Exemple avec mt_rand()
<?php
echo mt_rand(), "\n";
echo mt_rand(), "\n";
echo mt_rand(5, 15), "\n";
?>
Résultat de l'exemple ci-dessus est similaire à :
Notes
Avertissement
La plage min
max
doit se situer
dans la plage mt_getrandmax(). i.e.
max
- min
) <=
mt_getrandmax() sinon, mt_rand() peut
retourner des nombres aléatoires plus pauvres qu'il ne le devrait.
Voir aussi
- mt_srand() - Initialise le générateur de nombres aléatoires Mersenne Twister
- mt_getrandmax() - La plus grande valeur aléatoire possible
- random_int() - Récupère un entier sélectionné de manière uniforme et cryptographiquement sécurisée
- random_bytes() - Récupère des octets aléatoires cryptographiquement sécurisés