日毎でランダムな順序の配列を作成する


言語は何でも良いのですが、一応PHPにしておきます。

日が変わるごとに配列の順序がランダムに変わるようにしたい場合どのようにやるのが良さそうか教えてください。

私が考えたのは、keyと日付によってhash値を生成し、そのhash値をキーとしてソートすることです。

[code]

    function random_sort_day_by_day($arr){
        $today = strtotime('today');
        $hash_table = array();
        foreach($arr as $key => $val){
            $hashkey = md5($key . $today);
            $hash_table[$hashkey] = $key;
        }
        ksort($hash_table);
        $result = array();
        foreach ($hash_table as $arr_key) {
            $result[] = $arr[$arr_key];
        }
        return $result;
    }
    
[/code]

もっと良い方法あります？




こういう質問じゃない気もしますが、乱暴にやって良いなら。。

[code]

    $arr = array(1,2,3,4,5);
    srand(date("Ymd"));
    shuffle($arr);
    
    print_r($arr);
    
[/code]

とかでしょうか。




こういう質問じゃない気もしますが、乱暴にやって良いなら。。

[code]

    $arr = array(1,2,3,4,5);
    srand(date("Ymd"));
    shuffle($arr);
    
    print_r($arr);
    
[/code]

とかでしょうか。

