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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-12-06 11:17:11963ブラウズ

How to Generate Unique Random Numbers Within a Specific Range in PHP?

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

指定された範囲内で一意の乱数を生成する関数の作成は、プログラミングにおける一般的なタスクです。以下は、指定されたコードのより最適化された代替案です:

function uniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

この関数は 3 つのパラメータを取ります:

  • $min: 範囲の最小値
  • $ max: 範囲の最大値
  • $quantity: 変換する一意の乱数の数generate

これは、指定された範囲内のすべての数値を含む配列を作成し、その配列をシャッフルすることによって機能します。次に、array_slice() 関数を使用して、シャッフルされた配列から指定された数の一意の乱数を抽出します。

例:

$numbers = uniqueRandomNumbersWithinRange(1, 20, 5);
print_r($numbers);

これは配列を出力します。 1 ~ 20 の範囲内の 5 つの一意の乱数。例:

Array
(
    [0] => 6
    [1] => 17
    [2] => 14
    [3] => 19
    [4] => 12
)

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。