给定长度为N的数组,如何根据当前时间选择随机索引。基本上我想根据当前时间生成从0到N的随机整数。这甚至可以用数学方法做到吗?
答案 0 :(得分:1)
认为你在寻找这样的东西:
<?php
$numbers = array(1,2,3,4,5,6,7,8,9,10);
$random = date('i')/5 % count($numbers);
echo $random . "<br />";
echo $numbers[$random];
?>
答案 1 :(得分:1)
您可以使用time()
的派生值为随机数生成器播种:
mt_srand(time() / 30 / 60); // reseed every 30 minutes
echo mt_rand(0, N);
如果没有随机数生成器,您只需使用modulo:
echo (time() / 30 / 60) % N;
请注意,mt_rand()
输出可能包含N本身,而模块版本则不包括。