PHP 中的加权随机数生成
本问题探讨了在将不同概率分配给特定范围时生成随机数的挑战。在 PHP 中,mt_rand() 函数提供了一种生成随机整数的方法,但它不允许加权结果。
要克服此限制,您可以使用加权概率的概念。这种方法涉及创建一个关联数组,其中键代表所需的结果,值代表它们各自的权重。所有结果的总权重之和应达到可能的最大权重。
要根据提供的权重生成随机结果,您需要使用 mt_rand 计算 1 到总权重之间的随机值() 功能。然后,迭代加权数组并从随机值中减去每个结果的权重。选择随机值变为负数或零的第一个结果作为加权随机结果。
提供的 PHP 函数 getRandomWeightedElement() 实现了这种方法,允许您指定加权结果的关联数组并返回相应的结果随机密钥。请注意,权重应该是整数,非整数权重可能需要对此函数进行自定义调整。
以上是如何在 PHP 中生成加权随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!