mt_srand

(PHP 4, PHP 5, PHP 7)

mt_srandInitialise le générateur de nombres aléatoires Mersenne Twister

Description

mt_srand ([ int $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.

Liste de paramètres

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é.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

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.

Exemples

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();
?>

Voir aussi

  • mt_rand() - Génère une valeur aléatoire via le générateur de nombre aléatoire Mersenne Twister
  • mt_getrandmax() - La plus grande valeur aléatoire possible
  • srand() - Initialise le générateur de nombres aléatoires