PDA

Просмотр полной версии : тупой rand() ?


Fouly
08.02.2002, 06:21
как генерить случайное число, чтоб при каждом запуске скрипта - выдавало _случайное_число ?

rand(x,y) выдает постоянно одно и тоже

ps
нужно выдавать в фиксировынном промежутке

pps
после перла, пхп кажется недоделаной игрушкой:)

nagash
08.02.2002, 09:52
руки не оттуда ростут...
$d = rand($x,$y);
пхп очень сильная вешь... надо уметь пользоваться...

Fouly
08.02.2002, 09:57
Ну и ?
Выдает одно и то же - 0

nagash
08.02.2002, 10:01
хм... ат задал значение х и у?
или решил так...? :)
вот у меня работает...
попробуй допустим так написать...

$x = 1;
$y = 100;
$d = rand($x,$y);

или так

$d = rand(1,100);

или вообще не пиши...
ты хоть немного разбераешся в програмировании?

Fouly
08.02.2002, 10:06
Объясню подробней, если кто не понял.

echo rand(0,500)."<br>";
echo rand(0,500)."<br>";
echo rand(0,500)."<br>";

получаем:
0
281
96

перезагружаем - получаем то же самое, сколько угодно - ничего не меняется.

в любом нормальном языке такой проблеммы нету

может srand поможет ?
только по доке я не совсем понял как им пользоваться.

конкретно задача такая

for ($i=0; $i<=10; $i++) {
rnd1 = rand(0,500);
rnd2 = rand(0,500);
rnd3 = rand(0,10);
// потом они используются
}

но чоб после перезагрузки не получалось то же самое!

Fouly
08.02.2002, 10:08
> хм... ат задал значение х и у?

ты меня за идиота считаешь ?

nagash
08.02.2002, 10:16
ну не то что считаю... но мысли всякие есть...
http://www.casinoinform.com/rand.php
если у тебя будут одинаковые числа генерится пришли скриншот...
только что раз 15 перегрузил каждый разновые числа...
только честно плз...

nagash
08.02.2002, 10:18
может пхп кривой стоит =)))
а где хостинг, если не секрет, у тебя? :)

Fouly
08.02.2002, 10:30
у меня php3
проверил на сервере с php3 - то же самое
проверил на сервере с php4 - все нормально

либо дистриб кривой (на сервер тот же что у меня) либо сам php3 тупой

спасибо за помощь и лестные отзывы

хостинг у меня в разных местах есть

energy@work
08.02.2002, 16:26
srand((double)microtime()*1000000);
echo rand();

der
08.02.2002, 16:37
<?php
echo rand(1, 500)."<br>";
echo rand(1, 500)."<br>";
echo rand(1, 500)."<br>";
echo rand(1, 500);
?>


смотри тут (http://www.warlock.ru/rand/)

der
08.02.2002, 16:46
Прроблемма может быть в том, что на серкаве стоит экн на все... Слыхал такое бывает в организацих разных где инет слабый.... Там новости с новостных порталов и те из кэша берутся...(для танкистов - no-cashe не работает)

Modest
08.02.2002, 22:25
дело в следующем.. в 3-ей версии пхп ранд работает крайне глючно, в 4-ой есть новый аналог ранд - mrand работает изЮмительно и по заверенеиям экспертов на порядок меньше процессорного времени занимает

Fouly
08.02.2002, 22:59
2 Modest
Быть может и глючный, но в моем случае это просто abnormal.

2 der
Нет, ниего не стоит (см. ниже)
То что ты показал - работает конечно же

2 energy@work
Ну да, это я тоже видел в доке:)
Но не подоходит

Вообщем ситуация такая
Мой комп - XP+Apache1.3.12+php3 - не работает
Сервак w2k+Apache1.3.2x+php3 - не работает
Разные серваки Linux+php4 - все работает

Я было подумал, что с 3-й версией что-то не так - поставил себе php4 - и опять не работает!

На ум приходят два варианта:
1. наиболее вероятный - rand() генерится на основе каких-то системных фич, которых нету под виндой (это скорей всего)
2. гипотеза - я как-то криво ставлю его под винду:)

И потому вопрос
Есть ли кто-нить у кого стоит php под win ?
help

nagash
08.02.2002, 23:03
у меня винХР апач 1.3.20 пхп4 всё отлично работает... =)
на 98 тоже всё так же отлично работало...
хм...
а как ставить? :)
просто поставить и всё... даже немогу предположитьчто там можно не так поставить чтобы рандомполомался...
странно...

Fouly
08.02.2002, 23:05
PS
2 Modest
Может ты хотел сказать - mt_rand ?:)
Тоже не работает.

Fouly
08.02.2002, 23:08
2 nagash
А ты то, что с инсталлятором ставил ?
Я тот, что без.

Если без - покажи плиз все что у тебя касательно php в Apache прописано.
Да и вообще если расскажешь подробно как ставил, то наверно поможет.
Буду оч. благодарен:)

nagash
08.02.2002, 23:09
все функции по рандому
srand(), mt_rand(), mt_srand(),
ну и сам ранд =)

nagash
08.02.2002, 23:14
я ставил без инсталятора...
самруками чтотопрописал...
1 - он у меня стоит не как библиотека а как ехе фаил... как длл было лень =)
2 - в конфиге опача ничего не написано... только откуда его брать и всё...
3 - сам пхп.ини вообще не трогал...
вот... =)

Fouly
08.02.2002, 23:24
У меня тоже никаких ини и т.п.
вот то что в апаче (4-ку добавил потом)

#PHP4
<Directory "d:/usr/php4">
Options ExecCGI
</Directory>
ScriptAlias "/php4/" "d:/usr/php4/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
Action application/x-httpd-php /php4/php.exe
Action application/x-httpd-php-source /php4/php.exe


#PHP3
<Directory "d:/usr/php3">
Options ExecCGI
</Directory>
ScriptAlias "/php3/" "d:/usr/php3/"
AddType application/x-httpd-php3 .php3
Action application/x-httpd-php3 /php3/php.exe
Action application/x-httpd-php3-source /php3/php.exe

nagash
08.02.2002, 23:50
тоже самое...
тогда ХЗ
может из за самого компа...
у тебя какой?
хояту меня раньше на 200 ммх всё отлично было а щас 1000 атлон...
вобщем незнаю... =)))
апачь переставь... =)

Fouly
10.02.2002, 18:13
Поставил последную версию (4.1.1) - заработало.

Спасибо всем.