如何在清單中隨機顯示元素而不重複它們?

Barbara Streisand
發布: 2024-10-21 12:44:30
原創
991 人瀏覽過

How to Randomly Display Elements without Repeating them in a List?

產生不重複的唯一隨機清單

隨機化元素而不重複是程式設計中的常見問題。如您所遇到的,使用簡單的 rand() 函數可能不足以滿足您的特定場景,您需要在重複發生之前將所有元素顯示一次。

解決此問題的最有效方法是產生一個列出所有可能的數字,將它們打亂以隨機排列順序,然後使用這些數字來檢索所需的列表。這是一個最佳化的解決方案:

此程式碼建立一個包含 0 到 19 個數字的數組,並對它們進行打亂以獲得隨機順序。然後,您可以迭代數字數組並從 $businesses 數組中檢索相應的列表。透過使用此方法,所有 20 個清單將在重複之前顯示一次。

另一種方法是使用自訂函數:

此函數採用三個參數:最小值和最大值和所需的隨機數量。它產生給定範圍內的隨機數數組,並傳回指定數量的元素。

在您的情況下,您可以在Yelp 列表範圍內產生20 個唯一的隨機數:

要將這些技術與您的Yelp API 響應集成,您可以實作以下更新:

  1. 使用建議的方法之一來產生隨機清單ID 並將其儲存在您的資料庫中。
  2. 每次刷新頁面時,產生一個隨機清單 ID 並檢查它是否與資料庫中的值相符。
  3. 如果 ID 不匹配,則顯示清單並將新 ID 新增至資料庫。
  4. 重複步驟 1-3,直到顯示所有 20 個清單。

透過實作此方法,您將確保在任何重複發生之前所有 20 個清單都顯示一次,從而實現您所需的功能.

以上是如何在清單中隨機顯示元素而不重複它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!