ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでの N 個の非反復乱数インスタンスの生成の詳細な説明

PHP_PHP チュートリアルでの N 個の非反復乱数インスタンスの生成の詳細な説明

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

以前に複数の乱数を生成する方法についてお話しました。次に、PHP で N 個の非繰り返し乱数を生成する例を紹介します。興味がある方は参照してください。

この機能の実装は難しくありませんが、とても勉強になりました。

「flipメソッド」は配列内の重複した値を削除するために使用され、array_flip()を使用して配列のキーと値を2回交換します。このアプローチは、array_unique() を使用するよりもはるかに高速です。 配列を返す前に、まず shuffle() を使用して新しいキー名を配列に割り当て、キー名が 0 から n までの連続した番号であることを確認します。この手順を実行しないと、重複した値を削除するときにキー名が不連続になり、トラバーサルに問題が発生する可能性があります。
コードは次のとおりです コードをコピー

/**

* 一定数の一意の乱数を生成します

* @param int $min, $max は乱数の範囲を指定します

* @param int $max

* @param int $num は生成される数量を指定します

* @return 配列

*/

関数 unique_rand($min, $max, $num) {

$count = 0;

$return = 配列();

while ($count

$return[] = mt_rand($min, $max);

$return = array_flip(array_flip($return));

$count = count($return);

}

シャッフル($return)

$return

}

mt_rand() 関数は乱数を生成するために使用されます。この関数は、rand() よりも平均して 4 倍の速度で乱数を生成します。



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

www.bkjia.com

http://www.bkjia.com/PHPjc/633145.html技術記事複数の乱数を生成する方法については以前に説明しました。次に、PHP で N 個の非繰り返し乱数を生成する例を紹介します。興味がある方は参照してください。 これを達成するには...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。