Случайные числа. Непонятный глюк.

  • Автор темы 4294967295
  • Дата начала

4294967295

Guest
Случайные числа. Непонятный глюк.

Для начала, на чем глюк проявляется:
PHP 4.3.9, Apache/1.3.31, FreeBSD 4.11

Для неких нужд генерирую случайное число просто при помощи mt_rand(), безо всяких ухищрений. Скрипт, в котором генерация происходит, вызывается юзером раз пять в день. И каждый раз он генерит одно и то же число: 4294967295.

Если просто сделать скрипт с "echo mt_rand();", и перегружать его, то каждый раз он выводит случайное число, а тут почти такая же конструкция и всегда одно и то же число 4294967295! В чем проблема?
 

4294967295

Guest
Автор оригинала: Tor
и echo $sa_id всегда 4294967295?
Вот в том то все и дело, что если сделать отдельный скрипт только с "$sa_id = mt_rand(); echo $sa_id;" и постоянно его перезагружать, то числа будут всегда разные. А в том скрипте, который вызывается от силы раз пять за день всегда генерируется одно и то же 4294967295! Хотя конструкция одна и та же.
 

Tor

Новичок
очевидно, что проблема не в частоте вызова, а в коде
как отлаживать код, написано в ФАКе
 

4294967295

Guest
Автор оригинала: Tor
очевидно, что проблема не в частоте вызова, а в коде
как отлаживать код, написано в ФАКе
Код идеален. Стоит вывод всех ошибок, ворнингов и нотисов. Все переменные инициализируются. Отличие ' от " я прекрасно знаю. Регистер глобалс = офф. :confused:
 

4294967295

Guest
Автор оригинала: Tor
это ты говоришь о коде, который работает не так, как ожидается?
Намек понятен, но дело только в странном поведении mt_rand. Кстати, на winxp с последним 5-ым php все работает как надо... Попробую на сервере php поновее поставить.
 

4294967295

Guest
Автор оригинала: Фанат
Tor
помолчи, а?

-~{}~ 08.06.05 15:03:

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

Но попробую...
 

Tor

Новичок
Фанат
очень оригинально удалять чужие посты
ну да ладно, чего на тебя обижаться то
 

4294967295

Guest
хм, помогло... А зачем тогда мануал вводит в заблуждение?
 
Сверху