產生不重複的唯一隨機清單
隨機化元素而不重複是程式設計中的常見問題。如您所遇到的,使用簡單的 rand() 函數可能不足以滿足您的特定場景,您需要在重複發生之前將所有元素顯示一次。
解決此問題的最有效方法是產生一個列出所有可能的數字,將它們打亂以隨機排列順序,然後使用這些數字來檢索所需的列表。這是一個最佳化的解決方案:
此程式碼建立一個包含 0 到 19 個數字的數組,並對它們進行打亂以獲得隨機順序。然後,您可以迭代數字數組並從 $businesses 數組中檢索相應的列表。透過使用此方法,所有 20 個清單將在重複之前顯示一次。
另一種方法是使用自訂函數:
此函數採用三個參數:最小值和最大值和所需的隨機數量。它產生給定範圍內的隨機數數組,並傳回指定數量的元素。
在您的情況下,您可以在Yelp 列表範圍內產生20 個唯一的隨機數:
要將這些技術與您的Yelp API 響應集成,您可以實作以下更新:
透過實作此方法,您將確保在任何重複發生之前所有 20 個清單都顯示一次,從而實現您所需的功能.
以上是如何在清單中隨機顯示元素而不重複它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!