この記事では、非反復乱数を生成する 5 つの方法をまとめています。方法 1、2、および 3 は私がよく使用する方法であり、方法 4 と 5 は簡単に使用できます。他にも方法はまだあります。一緒に進歩できるように、不足している方法について皆さんもぜひ教えてください
Web アプリケーション、WAP、モバイル アプリケーションのいずれであっても、乱数は重要な役割を果たします。私が最近関わったいくつかの小規模なプロジェクトでは、乱数またはランダム配列を扱う必要があることが多いため、PHP で非反復乱数を生成するための一般的な方法をいくつかまとめます。
方法 1:
コードをコピーします コードは次のとおりです:
$numbers = range (1,50);
//shuffle は配列の順序を乱します。
shuffle ($numbers ; :
コードをコピーします
$numbers = range (1,20);
//乱数ジェネレータのシードをまきます、オプション、テスト後に確認します 結果は影響しませんsrand ((float)microtime()*1000000); shuffle ($numbers); //リストの最初の値をスキップします (インデックスは保存されます)
while (list (, $number) = each ($numbers)) {echo "$number ";
?> =0,$end=20,$limit=5){
$rand_array=range($begin,$end) );
shuffle($rand_array);//既製の配列のランダム配置関数を呼び出します
return array_slice($rand_array, 0,$limit);//最初の $limit をインターセプトします
}
print_r(NoRand());
?>
上記は 1 ~ 20 の間で 5 つの非繰り返し値をランダムに生成できます
コードをコピー コードは次のとおりです:
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1, 20);
$tmp=array_unique($tmp); tmp);
?> php
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>
これは、それを呼び出すよりも簡単かもしれません(追記:ステップの場合) size を範囲で指定する場合は、array_rand の第 2 パラメータが $tmp の長さを超えるかどうかに注意する必要があります。
PHP は非常に豊富な配列関数を提供します。もちろん、より良い方法がある場合は、この記事を紹介してください。
WeChat 赤い封筒のランダム生成アルゴリズム php バージョン
WeChat 赤い封筒の金額アルゴリズムをランダムに生成する php バージョン
jquery+php 赤い封筒の金額コードをランダムに生成共有
宝くじプログラムやランダム広告に適したPHP確率アルゴリズムの例
phpで乱数を生成する3つの方法
PHP n 繰り返しのない乱数生成コード
PHPはランダムな文字列を生成します(3つの方法)
PHPのランダムな文字列生成コード(大文字と小文字を含む)
以上がPHPで非反復乱数を生成する方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。