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

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

Barbara Streisand
リリース: 2024-12-14 02:05:09
オリジナル
261 人が閲覧しました

How Can I Efficiently Generate Unique Random Numbers Within a Specific Range?

範囲内での一意の乱数の生成: 最適化されたアプローチ

指定された範囲内で一意の乱数を生成するには、次の改良された方法を検討してください。

シャッフルされた配列順序:

  • 必要な範囲内の数値を含む配列を作成します。
  • shuffle() を使用して、配列要素の順序をランダム化します。
$numbers = range(1, 20);
shuffle($numbers);
ログイン後にコピー

ラップ関数:

  • 範囲内で指定された数の一意の乱数を生成するロジックをカプセル化する関数を定義します。
  • 関数内で、必要な値を含む配列を作成します。範囲を指定し、その順序をシャッフルして、必要な数の配列を含む配列のスライスを返します。
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
ログイン後にコピー

使用例:

$result = UniqueRandomNumbersWithinRange(0, 25, 5);
ログイン後にコピー

これは、0 ~ の範囲内でランダムに並べられた 5 つの一意の数値の配列を生成して返します。 25.

サンプル結果:

$result = [14, 16, 17, 20, 1]
ログイン後にコピー

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

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