ホームページ  >  記事  >  バックエンド開発  >  PHPで非繰り返し乱数を生成する方法のまとめ、PHPで乱数を生成する方法のまとめ_PHPチュートリアル

PHPで非繰り返し乱数を生成する方法のまとめ、PHPで乱数を生成する方法のまとめ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:13:43808ブラウズ

PHPで非繰り返し乱数を生成する方法まとめ、PHPで乱数を生成する方法まとめ

Web アプリケーション、WAP、モバイル アプリケーションのいずれであっても、乱数が適切な位置を占めます。私が最近関わったいくつかの小規模なプロジェクトでは、乱数またはランダム配列を扱う必要があることが多いため、PHP で非反復乱数を生成するための一般的な方法をいくつかまとめます。

方法 1:

コードをコピーします コードは次のとおりです:

$numbers = 範囲 (1,50)
; //シャッフルすると配列の順序が崩れます
シャッフル ($numbers)
//array_slice は配列の特定のセグメントを取得します
$num=6; $result = array_slice($numbers,0,$num); print_r($result); ?>



方法 2:

コードをコピーします

コードは次のとおりです: $numbers = 範囲 (1,20)
//乱数ジェネレーターのシードの播種はオプションであり、テスト後の結果には影響しません
srand ((float)microtime()*1000000); シャッフル ($numbers)
//リストの最初の値をスキップします (インデックスは保存されます)
while (list(, $number) = each ($numbers)) {
エコー "$number "; }
?>



方法 3:

コードをコピーします

コードは次のとおりです:

関数 NoRand($begin=0,$end=20,$limit=5){ $rand_array=範囲($begin,$end)
shuffle($rand_array);//既製の配列のランダム配置関数を呼び出します
return array_slice($rand_array,0,$limit);//最初の $limit 部分をインターセプトします
}
print_r(NoRand()); ?>



上記は、1〜20の間で5つの非反復値をランダムに生成できます

方法 4:

コードをコピーします

コードは次のとおりです:

$tmp=配列(); while(count($tmp) $tmp[]=mt_rand(1,20); $tmp=array_unique($tmp); } print_r($tmp);
?>



方法 5:




コードをコピーします
コードは次のとおりです:

$tmp = range(1,30);

print_r(array_rand($tmp,10)); ?>
これは呼び出すよりも簡単かもしれません (追記: ステップ サイズが範囲で指定されている場合は、array_rand の 2 番目のパラメーターが $tmp の長さを超えているかどうかに注意する必要があります)。

PHP は非常に豊富な配列関数を提供します。もちろん、より良い方法がある場合は、この記事を紹介してください。



http://www.bkjia.com/PHPjc/914063.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/914063.html

技術記事 PHP で非反復乱数を生成する方法の概要 PHP で乱数を生成する方法の概要 Web アプリケーション、WAP、モバイル アプリケーションのいずれであっても、乱数は重要な役割を果たします。最近私が関わったいくつかの小さなプロジェクト...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。