首頁 >後端開發 >php教程 >如何有效率地產生特定範圍內唯一的隨機數?

如何有效率地產生特定範圍內唯一的隨機數?

Patricia Arquette
Patricia Arquette原創
2024-12-05 04:55:10243瀏覽

How to Efficiently Generate Unique Random Numbers Within a Specific 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn