Случайные числа

.

srand

Производит инициализацию генератора случайных чисел.
Синтаксис:
void srand (int seed)
Инициализирует генератор случайных чисел занчением seed.
srand ((double) microtime ()*1000000);
$random = rand ();
echo $random;


getrandmax

Возвращает максимально возможное случайное число.
Синтаксис:
int getrandmax ()
Эта функция возвращает максимальное значение, которое можно получить при помощи функции генерации случайных чисел rand ().
Обычно это 32767

rand

Производит генерацию случайного числа.
Синтаксис:
int rand ([int max [, int min]])
При вызове с необязательными параметрами min и max эта функция генерирует случайное число, лежащее в пределах этих параметров включительно.
Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.
Для корректной работы данной функции перед ее использованием нужно проинициализировать генератор случайных чисел функцией srand ().

mt_rand

Функция возвращает MT-случайное число, достаточно равномерно даже для того, чтобы использовать его в криптографии.
Синтаксис:
int mt_rand (int $min=0, int $max=RAND_MAX)
Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax ()), задайте соответствующий интервал в параметрах $min и $max. Не забудьте только перед первым вызовом этой функции запустить mt_srand ().
mt_srand (time ()+(double) microtime ()*1000000);
$x = mt_rand (1,100); // $x — значение от 1 до 100
mt_srand

Настраивает MT-генератор случайных чисел на новую последовательность.
Синтаксис:
void mt_srand (int seed)
Дело в том, что хотя числа, генерируемые mt_rand (), достаточно равновероятны, но у них есть один нелостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызывать несколько раз подряд. Функция mt_srand () как раз решает данную проблему: она выбирает новую последовательность на основе параметра $seed, причем практически непредсказуемым образом.
mt_srand (time ()+(double) microtime ()*1000000);
for ($i=0;$i<=10;$i++) {
$x = mt_rand (1,10);
};

В этом случае последовательность устанавливается на основе времени запуска сценария (в секундах), поэтому она достаточно непредсказуема. Для еще более надежного результата рекомендуется приплюсовать сюда еще микросекунды (что и было сделано), а также идентификатор процесса, вызывавшего сценарий.

mt_getrandmax

Возвращает максимальное MT-случайное число.
Синтаксис:
int mt_getrandmax ()
Возвращает максимальное число, которое может быть сгенерированно функцией mt_rand () — иными словами, константу RAND_MAX
$max = mt_getrandmax ();
// $max = 2147483647
lcg_value

функция генерирует случайное дробное число.
Синтаксис:
double lcg_value ()
Эта функция возвращает псевдослучайное дробное число в диапазоне от 0 до 1.

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.