
Вопрос: Можно ли сгенерировать абсолютно неслучайное число при помощи генератора случайных чисел?
Ответ: На у меня получилось… Результат можно увидеть ниже, как и реализацию.
Я опросил несколько знакомых PHP-быдлокодеров. К единому мнению, баг это или фича мы не пришли. Например я могу себе представить теоретический сценарий, в котором он будет функционировать как баг. А, например, видит в ней какой-то полезный функционал.
А непонятно мне тут совсем другое — в ранних версиях PHP, функцию srand предлагалось использовать вместе с microtime для того, чтобы генератор случайных чисел стал ещё более случайным (уже смешно). После версии 4.2 необходимость в этом отпала. Но функцию srand не убрали и пока не собираются убирать.
Исходный код:
<?php
if (isset($_GET["rand"])) {
$sd = (int)$_GET["rand"];
srand($sd);
$rd = rand(1, 99999999);
echo "<p>Моё число: <strong>$rd</strong>.</p>";
}
?>
P.S.: С помощью этой страницы и баго-фичи описанной на ней я уже дважды выиграл спор и заработал в общей сложности 300 рублей :-).