mt_srand

(PHP 4, PHP 5, PHP 7)

mt_srandПереинициализирует генератор случайных чисел на базе Вихря Мерсенна

Описание

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

Переинициализирует генератор случайных чисел параметром seed или случайным числом, если seed не указан.

Замечание: Нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку это происходит автоматически.

Список параметров

seed

Необязательное целочисленное (integer) значение параметра переинициализации

mode

Используйте одну из следующих констант для изменения реализации генератора.

Константа Описание
MT_RAND_MT19937 Использовать корректную реализацию генератора на базе Вихря Мерсенна. Доступно с PHP 7.1.0.
MT_RAND_PHP Использовать некорректную реализацию генератора на базе Вихря Мерсенна, которая использовалась до PHP 7.1.0. Эта опция присутствует только для обеспечения обратной совместимости.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия Описание
7.1.0 srand() теперь является псевдонимом для mt_srand().
7.1.0 mt_rand() была изменена для использования фиксированной, корректной версии алгоритма Вихря Мерсенна. Для отката к старому поведению, используйте mt_srand() со вторым параметром MT_RAND_PHP.
5.2.1 Реализация Вихря Мерсенна (Mersenne Twister) в PHP теперь использует новый алгоритм переинициализации, разработанный Ричардом Вагнером (Richard Wagner). При том же параметре последовательность значений будет отличатся от последовательности, сгенерированной в предыдущих версиях PHP. (Ранее при одинаковых параметрах последовательность была одинаковой). Это поведение более не планируется изменять, но тем не менее, полагаться на это небезопасно.

Примеры

Пример #1 Пример использования mt_srand()

<?php
// инициализация текущими микросекундами
function make_seed()
{
  list(
$usec$sec) = explode(' 'microtime());
  return 
$sec $usec 1000000;
}
mt_srand(make_seed());
$randval mt_rand();
?>

Смотрите также

  • mt_rand() - Генерирует случайное значение методом с помощью генератора простых чисел на базе Вихря Мерсенна
  • mt_getrandmax() - Показывает максимально возможное значение случайного числа
  • srand() - Изменяет начальное число генератора псевдослучайных чисел