сгенерировать случайное число зависимое от строки

lutskboy
На сайте с 22.11.2013
Offline
172
1014

Приветствую

возможно кто то знает как сгенерировать случайное число в заданом дипазоне которое зависит от строки

например я ввожу строку и мне генерирует число от 1000 до 2000

допустим

a - 5

b - 109

c - 450

.....

B
На сайте с 21.08.2017
Offline
28
#1

echo rand(1000, 2000);
выводиш в цикле по каждой строке, если правильно понял.
lutskboy
На сайте с 22.11.2013
Offline
172
#2

нет. не то

echo rand(1000, 2000); генерирует число в заданном диапазоне.

допустим я обновил страницу. мне выдало 1000

потом снова обновил. выдало 1200

ето число меняется каждый раз. а мне етого не нужно.

я хочу ввести дополнительный параметр. ето строка.

например строка у нас date("H",time())

и всем кто открыл страницу выдало некое число от 1000 до 2000

причем если обновлять то ето число будет неизменным в течении часа

потом через час ето число снова сгенерируется. и будет статическим в течении часа

B
На сайте с 21.08.2017
Offline
28
#3

lutskboy, как я вижу использование дб или как вариант текстового файла или пихать цифру в куку с времени жизни в час а потом при следущем заходе менять.

псы: думаю самое легкое будет пихать рандом в куку и если кука уже есть то не менять его, а самой куке задать время жизни в час.


if(!isset($_COOKIE['number'])) {
$rnd = rand(1000, 2000);
setcookie("number", $rnd, time()+3600);
echo $_COOKIE['number'];
}else{
echo $_COOKIE['number'];
}

както так

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4

Ну это же не слчайное число, если оно от чего-то зависит :)

Возьмите хэш от строки, например md5

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
plattoo
На сайте с 12.05.2010
Offline
195
#5

lutskboy, смотри вот сюда http://php.net/manual/ru/function.mt-srand.php

mt_srand (date('G')); //выставляем начальное число генератора в зависимости от текущего часа

echo mt_rand(10, 1000000); //генерируем случайное число, которое будет неизменным в течение часа

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий