首頁 > 後端開發 > php教程 > 如何為綜合列表隨機產生器產生不重複的隨機數?

如何為綜合列表隨機產生器產生不重複的隨機數?

Patricia Arquette
發布: 2024-10-21 11:49:31
原創
832 人瀏覽過

How to Generate Random Numbers without Repetition for a Comprehensive Listing Randomizer?

產生不重複的隨機數:綜合指南

在開發一個隨機化Yelp 列表的網站時,您尋求一種方法確保所有20 個清單在發生任何重複之前都顯示一次。讓我們探索一系列方法來應對這項挑戰。

PHP 的rand(0, 19) 方法

您目前的實作使用PHP 的rand(0, 19) 來產生用於選擇Yelp 清單的隨機索引。然而,這種方法有一個限制:它可以重複數字。為了克服這個問題,我們需要一個更複雜的方法。

打亂一系列數字

一個有效的解決方案是打亂代表列表索引的一系列數字。這可以使用 range() 和 shuffle() 來實現,如下所示:

這將建立一個包含 0 到 19 隨機順序數字的陣列。

使用以下替代解決方案randomGen() 函數

另一種方法是使用自訂randomGen() 函數,該函數接受最小值、最大值和數量作為參數。它會產生指定範圍內的唯一隨機數字列表:

在資料庫中儲存使用過的數字並更新

確保所有清單都顯示無重複,您可以將顯示的清單儲存在資料庫中。每次顯示隨機清單時,請檢查其 ID 是否與資料庫中的任何 ID 相符。如果沒有,則顯示清單並將其 ID 新增至資料庫。重複此過程,直到顯示所有清單。

此方法可確保每個清單在重複發生之前僅顯示一次。

以上是如何為綜合列表隨機產生器產生不重複的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板