mt_srand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_srandSeeds the Mersenne Twister Random Number Generator

Description

mt_srand(int $seed = 0, int $mode = MT_RAND_MT19937): void

Seeds the random number generator with seed or with a random value if no seed is given.

Note: There is no need to seed the random number generator with srand() or mt_srand() as this is done automatically.

Parameters

seed

An arbitrary int seed value.

mode

Use one of the following constants to specify the implementation of the algorithm to use.

Constant Description
MT_RAND_MT19937 Uses the fixed, correct, Mersenne Twister implementation, available as of PHP 7.1.0.
MT_RAND_PHP Uses an incorrect Mersenne Twister implementation which was used as the default up till PHP 7.1.0. This mode is available for backward compatibility.

Return Values

No value is returned.

Changelog

Version Description
7.1.0 srand() has been made an alias of mt_srand().
7.1.0 mt_rand() has been updated to use the fixed, correct, version of the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand() with MT_RAND_PHP as the second parameter.

Examples

Example #1 mt_srand() example

<?php
// seed with microseconds
function make_seed()
{
  list(
$usec$sec) = explode(' 'microtime());
  return 
$sec $usec 1000000;
}
mt_srand(make_seed());
$randval mt_rand();
?>

See Also

  • mt_rand() - Generate a random value via the Mersenne Twister Random Number Generator
  • mt_getrandmax() - Show largest possible random value
  • srand() - Seed the random number generator