-3

重複の可能性:
変数をランダムに選択しますが、各変数は配列から均等に選択する必要があります

一度に配列から変数をランダムに選択するが、以下の条件を満たす関数(できればPHP)が必要です。配列に 3 つの変数があるとします。毎回 1 つの変数を選択する必要があります。しかし、関数を10回実行すると、各変数は少なくとも3回選択する必要があります。すなわち。最後にすべての変数を均等に選択する必要があります関数の実行はページの更新時に行われるため、配列から変数を削除または設定解除することはできません。したがって、配列にはすべての値が含まれます。

人々を参照してください、私はphpでarray_rand関数を使用して変数をランダムに選択できることを知っています。ここでは、上記のロジックを達成できることを保証するものではありません (この関数を 10 回実行する場合、各変数はそれぞれ少なくとも 3 回選択する必要があります)。

他の方法でセッションを利用できます。しかし、セッションやクッキーを使用する代わりに他の方法があるかどうかを確認するよう求めています.

例:この関数を10回実行しました。ここでは、'1' が 5 回表示され、'2' が 3 回表示され、'3' が 2 回表示されます。しかし、それぞれ3回表示させる可能性はありますか???

4

2 に答える 2

2

相互に排他的な要件を定義しました:「ランダムに選択」と「均等に選択」(または「均等に分散」)! 両方を行うことはできません。

于 2012-08-08T06:16:13.093 に答える
1

それがあなたが必要とするものです:array_rand

例 :

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 1);
echo $input[$rand_keys[0]] . "\n";
?>
于 2012-08-08T06:16:46.270 に答える