首頁 >後端開發 >php教程 >如何在 PHP 中產生加權隨機數?

如何在 PHP 中產生加權隨機數?

Susan Sarandon
Susan Sarandon原創
2024-12-10 16:37:11547瀏覽

How Can I Generate Weighted Random Numbers in PHP?

PHP 中的加權隨機數產生

本問題探討了在將不同機率分配給特定範圍時產生隨機數的挑戰。在 PHP 中,mt_rand() 函數提供了一種產生隨機整數的方法,但它不允許加權結果。

要克服此限制,您可以使用加權機率的概念。這種方法涉及建立一個關聯數組,其中鍵代表所需的結果,值代表它們各自的權重。所有結果的總權重總和應達到可能的最大權重。

要根據提供的權重產生隨機結果,您需要使用 mt_rand 計算 1 到總權重之間的隨機值() 功能。然後,迭代加權數組並從隨機值中減去每個結果的權重。選擇隨機值變成負數或零的第一個結果作為加權隨機結果。

提供的 PHP 函數 getRandomWeightedElement() 實作了這種方法,讓您可以指定加權結果的關聯數組並傳回對應的結果隨機金鑰。請注意,權重應該是整數,非整數權重可能需要對此函數進行自訂調整。

以上是如何在 PHP 中產生加權隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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