プログラムの確率によるデータ取得について質問です。
現在、制作しようとしているプログラムは、登録フォームを作りデータを登録し、その登録したデータにパーセントを設定できるようにし、設定したパーセントにより表示する確率を変動させたいと考えています。
こちらの考えとしては、
例えば、登録データ「A」「B」「C」「D」とあり、それぞれの確率が「A(36%)」「B(21%)」「C(18%)」「D(25%)」と設定されているとします。
※小数点以下は表示しないものとします。
まず、それぞれの登録されたパーセントを取得し、そのパーセントに応じた分、データ(名称やナンバーなど)を生成させます。
例) 「A」であれば「36%」なので、「A」を36個生成します。
//「A」の場合 $val = array(); $count = "設定したパーセント(36)"; for ($i=1;$i<=$count;$i++) { $val[] = "データ(A)"; } //結果 //「$val」の中に「A」が36個格納されます。
これを、全ての登録データで行い、計100個格納されることになると思います。
そのデータが格納された変数からランダムで任意の個数取得すればよいので、
//shuffle($val); 偏りを軽減するため $rand = array_rand($val, "任意の数");
このようにすれば、「A」は「36%」の確率でデータを取得できると思います。
そして、ランダムで取得したデータをデータベースから呼び出し、表示すればよいと考えています。
ですが、このやり方以外に良い案があればと思い、質問させていただきました。
宜しくお願いします。
回答3件
あなたの回答
tips
プレビュー