Maison > Article > développement back-end > Quelle est la différence entre php mt_rand() et rand()
Différence : 1. Si le paramètre est omis, le nombre aléatoire généré par rand() est compris entre 0 et getrandmax(), tandis que le nombre aléatoire généré par mt_rand() est compris entre 0 et mt_getrandmax( 2. mt_rand()); Les performances sont meilleures que rand().
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
rand() et mt_rand() génèrent tous deux un entier aléatoire, et il existe deux formes d'utilisation :
int rand() int mt_rand()
int rand(int $min, int $max) int mt_rand($min, $max)
Pour le premier formulaire :
Le nombre aléatoire généré par rand() est compris entre 0 et getrandmax()
Le nombre aléatoire généré par mt_rand() est compris entre 0 et mt_getrandmax()
Pour le deuxième formulaire :
rand() génère un nombre aléatoire de $min à $max
mt_rand() génère un nombre aléatoire de $min à $max
Comparaison :
mt_rand() est meilleur Un générateur de nombres aléatoires car il sème une meilleure graine de nombres aléatoires que rand(); et ses performances sont 4 fois plus rapides que rand(), et la plage de valeurs représentée par mt_getrandmax() est également plus grande
PS : La génération de nombres aléatoires à virgule flottante
Il y a une démo dans le manuel PHP
function randomFloat($min = 0, $max = 1) { return $min + mt_rand() / mt_getrandmax() * ($max - $min); } var_dump(randomFloat()); var_dump(randomFloat(2, 20));
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!