• 締切済み

日付を利用して乱数のようなものを生成する方法

タイトルの通りなのですが phpのプログラムを使って日付を利用して、0~2の数値をランダムに生成したいと思っています。 しかしプログラム初心者で上手い方法がわかりません。 できれば日によって頻繁に数値が変わってほしい(それぞれ週に2回ずつは出てほしい)のですが、 その点も含めていい方法はありませんか? 簡単なのか難しいのかもわかりませんが、よろしくお願いします。 もし関数等を用いる場合はその内容を含めて教えていただきたいです。

みんなの回答

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

No.1です。ごめんなさい、rand_mt関数ではなく、mt_rand関数でした。

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.1

rand関数で発生させた乱数を日付とともに何かに格納しておけばいいと思います。 自分ならPostgresかMydbにでも入れちゃいます(テキストでもいいです)。 今日の日付が格納されていたら新たな乱数を発生させずに格納した値を読み出すだけにしておけばいいでしょう。 過去7日間に遡って格納した値を確認することで、新たな乱数の発生を制限できるでしょう。 過去7日間に2が3回でてるから、新しい乱数が2だったらやりなおす、とか。 そんなのは厳密には乱数じゃないって思ったりもしますけど‥‥。 rand(0,2)で0,1,2の乱数が返り値になります。 rand_mt関数でも同様です。

cooroo
質問者

補足

回答ありがとうございます。 別ファイルに保存、という方法も考えたのですがファイルへの上書き・読み出しの方法がわからなくて………。 もう1度調べてみますが、もしよろしければ教えていただけると嬉しいです。

関連するQ&A