mt_srand

(PHP 4, PHP 5, PHP 7)

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

Описание

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

Переинициализирует генератор случайных чисел параметром 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 rand() теперь является псевдонимом mt_rand().
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() - Изменяет начальное число генератора псевдослучайных чисел