Maison  >  Article  >  développement back-end  >  Quelle est la différence entre php mt_rand() et rand()

Quelle est la différence entre php mt_rand() et rand()

青灯夜游
青灯夜游original
2021-10-19 18:40:252846parcourir

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().

Quelle est la différence entre php mt_rand() et 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn