(PHP 4, PHP 5, PHP 7)
mt_srand — Initialise le générateur de nombres aléatoires Mersenne Twister
$seed
[, int $mode
= MT_RAND_MT19937
]] ) : void
mt_srand() initialise le générateur de
valeurs aléatoires avec seed
ou avec
une valeur aléatoire si aucun paramètre
seed
n'est fourni.
Note: Il n'est pas nécessaire d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand(), ceci est fait automatiquement.
seed
Un entier aléatoire comme valeur d'initialisation.
mode
Utilisez une des constantes suivantes pour spécifier l'implémentation de l'algorithme à utiliser.
Constant | Description |
---|---|
MT_RAND_MT19937 |
Utilise l'impémentation, corrigé, correcte de Mersenne Twister, disponible à partir de PHP 7.1.0. |
MT_RAND_PHP |
Utilise une impémentation incorrecte de Mersenne Twister qui était utilisé par défaut jusqu'en PHP 7.1.0. Ce mode est disponible pour la rétrocompatibilité. |
Aucune valeur n'est retournée.
Version | Description |
---|---|
7.1.0 | srand() a été changé pour être un alias de mt_srand(). |
7.1.0 |
mt_rand() a été mis à jour pour utiliser la version corrigé, correcte
de l'algorithme de Mersenne Twister. Pour retourner à l'ancien comportement,
utilisez mt_srand() avec MT_RAND_PHP comme deuxième paramètre.
|
5.2.1 | L'implémentation Mersenne Twister en PHP utilise maintenant un nouvel algorithme d'initialisation, réalisé par Richard Wagner. Des initialisations identiques ne produisent plus la même séquence de valeurs, comme cela pouvait être le cas dans les versions antérieures. Ce comportement ne devrait plus changer. |
Exemple #1 Exemple avec mt_srand()
<?php
// initialisation avec des microsecondes
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return $sec + $usec * 1000000;
}
mt_srand(make_seed());
$randval = mt_rand();
?>