给定一个长度为 N 的数组,如何根据当前时间选择一个随机索引。基本上我想根据当前时间生成一个从 0 到 N 的随机整数。这甚至可以在数学上做到吗?
您可以使用从 time()
派生值的随机数生成器:
mt_srand(time() / 30 / 60); // reseed every 30 minutes
echo mt_rand(0, N);
如果没有随机数生成器,您可以简单地使用模:
echo (time() / 30 / 60) % N;
请注意,mt_rand()
输出可能包含 N 本身,而模块版本不包含。
想想你在寻找这样的东西:
<?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];
?>