Сломанный случайный PHP - PullRequest
       12

Сломанный случайный PHP

0 голосов
/ 19 апреля 2011

Я использовал mt_rand (10 100), чтобы получить случайное число от 10 до 100, но каждый раз это дает мне 74.

Вот что я работаю с

$success=mt_rand(10,100);

Есть идеи? Мне нужно как-то посеять? Заранее спасибо.

--- EDIT ---

Я только что попробовал это

    srand(microtime());
    $success=rand(10,100);

По-прежнему дает один и тот же ответ каждый раз, 47.

--- EDIT ---

это все

srand(microtime());
$success=rand(10,100);
echo $success;
if ($success == 100) {
    $displayline="You succeeded";
    session_register("displayline");
    header("location:userhome.php");
}

Ответы [ 4 ]

1 голос
/ 19 апреля 2011

Какую версию PHP вы используете?В 4.2.0 mt_rand () был изменен для автоматического заполнения.

Вы можете заполнить его с помощью mt_srand ($ seed), предоставив начальное значение.Я использую вывод функции microtime ().

edit: Поскольку вы используете 5.2, проверьте код, чтобы узнать, вызывается ли mt_srand (), и закомментируйте все такие вызовы.

0 голосов
/ 20 апреля 2011

Удалите все функции заполнения и не добавляйте их обратно. Затем перезагрузите сервер.

Также я обнаружил эту ошибку PHP , которая возникает в системах Windows с некоторыми версиями файла php.ini.

0 голосов
/ 19 апреля 2011

Он зарождается сам по себе.

http://www.suspekt.org/2008/08/17/mt_srand-and-not-so-random-numbers/

Думаю, вам стоит проверить версию PHP

0 голосов
/ 19 апреля 2011

Странно.Если вы просто сделаете mt_rand() что вы получите?Какое значение для mt_getrandmax()?

Попробуйте заполнить его с mt_srand()

...