PHP - последовательный случайный вывод по дням - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть контент на сайте, который я хочу рандомизировать каждый день.Я хочу, чтобы этот случайный вывод оставался неизменным на протяжении всего дня.Так что, если кто-то будет возвращаться назад и вперед со страницы, он не потеряется.

Я думаю, ключом является поиск функции rand, которая является последовательной и использует сегодняшнюю дату в качестве соли.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 07 апреля 2011
$random_key=md5(date('y-m-s'));

или

$random_key=sha1(date('y-m-s'));
0 голосов
/ 07 апреля 2011

Вместо того, чтобы пытаться использовать функцию rand(), вы можете просто манипулировать значением даты, как предложено @Soura.

Другой (и более глупый) пример может быть:

$key = time() / (60*60*60); // a numeric key, increment by 1 per day.
$total_banner_count = 20;
$banner_id_to_display = $key / $total_banner_count;
0 голосов
/ 07 апреля 2011

Одной вещью, которую следует учитывать, может быть просто взять день года и выполнить его модуляции в зависимости от размера массива вашего набора доступных «случайных» выходных данных, чтобы выбрать, что представить пользователю. В конце концов, для пользователя «случайный» является относительным термином, если содержание отличается от вчерашнего дня. Вы можете рандомизировать значения в вашей таблице доступных выходных данных только один раз, а затем можете просто индексировать их на каждый день. Результаты будут свежими и новыми для пользователей каждый день, и вы сможете избежать постоянного повторного хеширования для каждого запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...