У меня есть функция, которая выводит элементы в другом порядке в зависимости от случайного числа. например, 1/2 раза Popeye's и его будет # 1 в списке, а Taco Bell и его логотип будут # 2 и половина времени \ это будет наоборот.
Проблема заключается в том, что когда пользователь перезагружается или возвращается на страницу, порядок переучитывается. $ Диапазон здесь – количество элементов в db, поэтому используется случайное число между 1 и диапазоном $.
$random = mt_rand(1,$range); for ($i = 0 ; $i < count($variants); $i++) { $random -= $variants[$i]['weight']; if ($random <= 0) { $chosenoffers[$tag] = $variants[$i]; break; } }
Я пошел в начало сеанса и установил следующее:
if (!isset($_SESSION['rannum'])){ $_SESSION['rannum']=rand(1,100); }
С идеей, что я могу заменить mt_rand в функции каким-то псевдослучайным генератором, который использовал одно и то же случайное число 1-100 в качестве семени на протяжении всего сеанса. Таким образом, мне не придется переписывать весь код, который уже был написан. Я лаяю неправильное дерево или это хорошая идея?