php抽奖计算的例子
做一个抽奖功能,假设有10种奖品,每样的抽中概率都是10%。
代码如下:
<?php
/**
* php抽奖程序
* edit www.jbxue.com
*/
function _xRand($arr) {
$r=rand(1, 100);
$k=0;
foreach ($arr as $v) {
$k+=$v[1];
if ($r<=$k) {
return $v[0];
}
}
}
$arr=array(
array('1-10',10),
array('11-20',10),
array('21-30',10),
array('31-40',10),
array('41-50',10),
array('51-60',10),
array('61-70',10),
array('71-80',10),
array('81-90',10),
array('91-100',10),
);
_xRand($arr);
?>
实现思路:
1.首先从1-100中随机一个数
2.计算随机数出现在那个阶段
3.返回中奖
注:
如果总几率超过100%,超过部分无效。
例如:
$arr=array(
array('a',50),
array('b',30),
array('c',20),
array('d',10),
);
$arr2=array(
array('a',50),
array('b',40),
array('c',20),
);
$arr永远不会返回{d},$arr2{c}其实只有10%的几率会返回。
您可能感兴趣的文章:
php 权重计算方法(抽奖)学习php抽奖程序之几率算法
php抽奖程序(抽取三名幸运观众)的核心代码
php抽奖小程序代码一例
php分时间段的抽奖程序代码
您可能感兴趣的文章:
php抽奖程序(抽取三名幸运观众)的核心代码
php 权重计算方法(抽奖)
php抽奖小程序代码一例
php抽奖计算的例子
学习php抽奖程序之几率算法
php抽奖程序与随机广告实现算法
PHP实现大转盘抽奖算法(代码实例)
php分时间段的抽奖程序代码
PHP大转盘中奖概率算法与示例代码
PHP jQuery开发简单翻牌抽奖的功能(代码实例)