ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルの配列から指定されたレコードを効率的にランダムに抽出するためのアルゴリズム

PHP_PHP チュートリアルの配列から指定されたレコードを効率的にランダムに抽出するためのアルゴリズム

WBOY
リリース: 2016-07-21 16:12:37
オリジナル
1420 人が閲覧しました

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.comtru​​ehttp://www.bkjia.com/PHPjc/313637.html技術記事 PHPでは配列array_rand()関数を利用して、指定した数のレコードを効率よくランダムに抽出することができ、ランダム表示や抽選プログラムに適しています。 アルゴリズムは主に...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート