如何根据当前时间选择随机索引

时间:2014-11-27 06:32:56

标签: php algorithm

给定长度为N的数组,如何根据当前时间选择随机索引。基本上我想根据当前时间生成从0到N的随机整数。这甚至可以用数学方法做到吗?

2 个答案:

答案 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本身,而​​模块版本则不包括。