phpは配列array_rand()関数を利用して、指定した数のレコードを効率よくランダムに抽出することができ、ランダム表示や抽選プログラムに適しています。
このアルゴリズムは主に PHP の array_rand() 関数を使用します。array_rand() 関数の主な関数を見てみましょう。
array_rand - 配列から 1 つ以上のセルをランダムに削除します
混合 array_rand(array $input[,int $num_req] )
array_rand() は、配列から 1 つ以上のランダムなセルを削除する場合に便利です。入力を入力配列として受け入れ、オプションのパラメーター num_req を使用して、取り出すセルの数を指定します。指定しない場合、デフォルトは 1 です。
1 つだけ取り出す場合、array_rand() はランダムなユニットのキー名を返します。それ以外の場合は、ランダムなキー名を含む配列を返します。このようにして、配列からキーと値をランダムに取り出すことができます。
小さな例を見てみましょう:
コードをコピー コードは次のとおりです:
srand((float) microtime() * 10000000);
$input = array("Neo", "Morpheus", "Trinity" ", " Cypher", "Tank");
$rand_keys = array_rand($input, 2);
print $input[$rand_keys[0]] . "n";
print $input[$rand_keys[1]] .「ん」;
?>
この関数は、$list 配列内のレコード番号をランダムに抽出します。内容を記録する必要がある場合は、それを出力するだけです。
データベースから特定のレコードをランダムに選択する例を見てみましょう:
コードをコピーします コードは次のとおりです:
$list = $DB->where("status=1 and flag=1")->order('sort ')-> ;select();
unset($Case);
$count = count($list);
$rand_list=range(0, $count-1);
$rand_list = array_rand($rand_list, 10 );
$ tuijian_array = array();
foreach ($rand_list as $key) {
$tuijian_array[] = $list[$key];
}
unset($case_list);
print_r($tuijian_array);
?>
http://www.bkjia.com/PHPjc/313637.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313637.html技術記事 PHPでは配列array_rand()関数を利用して、指定した数のレコードを効率よくランダムに抽出することができ、ランダム表示や抽選プログラムに適しています。 アルゴリズムは主に...