PHP 概率抽奖代码示例 - 轻松实现幸运大转盘
///' 0.1, // 10%的中奖概率//n //'二等奖//' => 0.2, // 20%的中奖概率//n //'三等奖//' => 0.3, // 30%的中奖概率//n //'安慰奖//' => 0.4 // 40%的中奖概率//n);//n//n// 计算总概率//n/$totalProbability = array_sum(/$prizes);//n//n// 生成随机数//n/$randomNumber = mt_rand(1, 100) / 100;//n//n// 判断中奖结果//n/$winningPrize = //'//';//n/$accumulatedProbability = 0;//nforeach (/$prizes as /$prize => /$probability) {//n /$accumulatedProbability += /$probability;//n if (/$randomNumber <= /$accumulatedProbability / /$totalProbability) {//n /$winningPrize = /$prize;//n break;//n }//n}//n//n// 输出中奖结果//nif (/$winningPrize) {//n echo //'恭喜您中得//' . /$winningPrize . //'!//';//n} else {//n echo //'很遗憾,您没有中奖。//';//n}//n?>///'//n在上面的示例中,我们首先定义了奖品概率数组 /$prizes,其中键表示奖品,值表示对应的中奖概率。然后使用 array_sum() 函数计算了总概率 /$totalProbability。接下来,我们生成了一个随机数 /$randomNumber,范围从1到100,并除以100转化为0到1之间的小数。然后,使用循环遍历奖品概率数组,通过累积概率判断中奖结果。如果随机数小于等于当前奖品的累积概率除以总概率,就认为中奖了。最后,根据中奖结果输出相应的信息。//n//n请注意,这只是一个简单的示例,实际中可能需要更复杂的逻辑和数据处理。
原文地址: https://www.cveoy.top/t/topic/p91i 著作权归作者所有。请勿转载和采集!