带种子的 array_rand

faw*_*zib 5 php arrays random seed

我在数组中有多个图像文件名,并且希望生成一整天固定的随机图像,因此我想使用 date("Ymd") 在同一天使用固定种子,并且该种子每天都会更改,从而每天产生新的独特种子。

问题是 array_rand 不接受种子作为参数。

Voi*_*cus 1

拥有相同的种子并不能保证您每次都会得到相同的数字。我会创建一些伪随机函数,例如依赖于年、月和日,但不依赖于小时、分钟、秒,仅根据这些值给出相同的结果,例如

function pseudorandom_day_image_index($array_of_pictures){
   $year=date('Y');
   $month=date('m');
   $day=date('d');
   return ($year*$month*$day) % count($array_of_pictures);
}
Run Code Online (Sandbox Code Playgroud)

这将为您提供恒定的(一天)图片索引