mt_rand

(PHP 4, PHP 5)

mt_rand — Generate a better random value

Описание

int mt_rand ([ int $min ], int $max )

Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the rand() function. The mt_rand() function is a drop-in replacement for this. It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.

If called without the optional min , max arguments mt_rand() returns a pseudo-random value between 0 and RAND_MAX. If you want a random number between 5 and 15 (inclusive), for example, use mt_rand (5, 15).

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

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

min

Optional lowest value to be returned (default: 0)

max

Optional highest value to be returned (default: RAND_MAX)

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

A random integer value between min (or 0) and max (or RAND_MAX, inclusive)

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

Версия Описание
Since 3.0.7 In versions before 3.0.7 the meaning of max was range . To get the same results in these versions the short example should be rand (5, 11) to get a random number between 5 and 15.

Примеры

Пример #1 mt_rand() example

<?php
echo mt_rand() . "\n";
echo 
mt_rand() . "\n";

echo 
mt_rand(515);
?>

Результатом выполнения данного примера будет что-то подобное:

1604716014
1478613278
6

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

Коментарии

Автор:
To reiterate the message about *not* using mt_rand() for anything security related, here's a new tool that has been just posted that recovers the seed value given a single mt_rand() output:

http://www.openwall.com/php_mt_seed/README
2013-11-05 13:13:32
http://php5.kiev.ua/manual/ru/function.mt-rand.html
Автор:
The seed is the PID + LCG (https://github.com/php/php-src/search?q=GENERATE_SEED&unscoped_q=GENERATE_SEED)
2018-12-20 10:24:09
http://php5.kiev.ua/manual/ru/function.mt-rand.html
To see some systematic deviations from a universal distribution run:

<?php
$alfabet 
str_split('ADHKLMNPSTUWX');
$countalfabet count($alfabet)-1;
$code array_fill_keys($alfabet0);
for (
$L=0$L<80*$countalfabet$L++)
{
 
$lettr floor(mt_rand 0$countalfabet ));
 
$code[$alfabet[$lettr]]++;
}

foreach(
$code as $L => $Freq)
{
  for(
$F=0$F<$Freq$F++)
  {
    echo 
$L;
  }
  echo 
"\n<br/>";
}
?>
2023-01-10 21:00:58
http://php5.kiev.ua/manual/ru/function.mt-rand.html

    Поддержать сайт на родительском проекте КГБ