首頁  >  文章  >  後端開發  >  如何產生不重複的隨機數以實現獨特的內容顯示?

如何產生不重複的隨機數以實現獨特的內容顯示?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-21 12:49:30958瀏覽

How to Generate Non-Repeating Random Numbers for Unique Content Display?

為獨特內容產生不重複的隨機數

為特定目的(例如顯示Yelp 列表)產生隨機數字時,這一點至隨機數字關重要以確保它們不會重複。這可以確保所有想要的項目都顯示出來,沒有任何重複。

PHP 的 Shuffle 方法

PHP shuffle 函數可用來產生不重複數字的陣列。透過提供要產生的數字範圍,shuffle 會對它們進行隨機排序。

$numbers = range(1, 20);
shuffle($numbers);

這種方法對於小資料集來說簡單有效,但當資料集很大時它就有限制。

替代方案:RandomGen 函數

對於較大的資料集,稱為 randomGen 的自訂函數可以提供更好的效能。此函數在給定範圍內產生指定數量的唯一隨機數。

<code class="php">function randomGen($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

print_r(randomGen(0, 20, 20)); // Generates 20 unique random numbers</code>

Yelp 清單顯示的具體應用

將此方法應用於Yelp 清單時,如果您在$businesses 中儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存了一組企業,則可以儲存請依照下列步驟操作:

  1. 使用randomGen 函數或shuffle 方法產生隨機清單ID。
  2. 儲存產生的 ID在資料庫表中追蹤顯示的清單。
  3. 在每個頁面刷新時,產生一個新的隨機 ID 並對照表進行檢查。如果尚未顯示,請顯示該清單並將 ID 新增至表中。
  4. 重複步驟 3,直到顯示所有 20 個清單。

遵循這些技巧,您可以確保所有 Yelp 清單都顯示一次,不會重複,提供更全面的使用者體驗。

以上是如何產生不重複的隨機數以實現獨特的內容顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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