<?php
$now = new DateTime( "now" , new DateTimeZone('Asia/Tokyo'));
$time = strtotime($now->format('Y-m-d H:00:00')); //一時間毎
srand($time);
$str ="";
foreach(range(0,9) as $i){
$str = $str.rand(0,10);
}
echo $str;
・PHP: srand - Manual
やり方は簡単で、srandのシード値(seed)が同じだと、同じ乱数が生成されます。ということで1時間この値を同じ値にすれば、1時間たつと変わる乱数が作れます。
3行目をみると分かるように、現在の時間を取得して、分と秒は0に置き換えてます。
参考:
・数分おきに一度変わる乱数がほしい - それマグで!
・array_rand関数の結果を日付ごとに一意に固定する - Qiita
スポンサーリンク