ホームページ > バックエンド開発 > PHPチュートリアル > 特定の範囲内で一意の乱数を効率的に生成するにはどうすればよいですか?

特定の範囲内で一意の乱数を効率的に生成するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-05 04:55:10
オリジナル
190 人が閲覧しました

How to Efficiently Generate Unique Random Numbers Within a Specific Range?

範囲内で一意の乱数を生成する

質問: 指定された範囲内で一意の乱数を効率的に生成するにはどうすればよいですか? range?

回答:

提供されたコードは範囲内の乱数を生成しますが、一意性は保証されない場合があります。最適化されたソリューションについては、次のアプローチを検討してください。

1.ランダムな順序の配列:

  • 範囲 (range(min, max)) 内の数値の配列を生成します。
  • shuffle() を使用して配列をシャッフルします。
  • これにより、ランダムな順序の数値が作成され、必要な量にスライスして一意にすることができます。結果。

2.ラップされた関数:

  • 配列シャッフル手法を関数にカプセル化します:
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
ログイン後にコピー
  • 例使用法:
print_r(UniqueRandomNumbersWithinRange(0, 25, 5));
ログイン後にコピー

結果:

指定された範囲内の一意の乱数を含む指定された量の配列。

以上が特定の範囲内で一意の乱数を効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート