在各種程式設計場景中都會出現在指定範圍內產生唯一隨機數的需求。雖然給定的程式碼試圖解決這個問題,但它在效率方面存在不足。讓我們深入研究一種更優化、更穩健的方法。
關鍵在於建立一個包含一系列數字的數組,並利用 PHP 中內建的 shuffle() 函數來隨機化它們的順序。這是增強的程式碼:
$numbers = range(1, 20); shuffle($numbers);
透過這種方法,我們可以有效地產生所需範圍內的唯一隨機數數組。
或者,您可以將邏輯封裝到可重複使用的函數中:
function UniqueRandomNumbersWithinRange($min, $max, $quantity) { $numbers = range($min, $max); shuffle($numbers); return array_slice($numbers, 0, $quantity); }
範例:
print_r( UniqueRandomNumbersWithinRange(0, 25, 5) );
預期結果:
Array ( [0] => 14 [1] => 16 [2] => 17 [3] => 20 [4] => 1 )
以上是如何在PHP中高效產生特定範圍內的唯一隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!