说明:全概率计算为统一设置一个中奖概率;单独概率计算则每个奖品分别可以设置一个中奖概率;
算法一(全概率计算)
此类中奖概率为所有奖项设置一个总的中奖概率,中奖后再从已有的奖品里面随机抽一个奖品
中奖判断:
1.先按照总体的抽奖概率判断该用户是否中奖
2.如果中奖的话,则随机从所有奖品里面抽出一个
3.所有奖品抽完后中奖概率变成0
如:中奖概率为20%,一等奖1个,二等奖2个,三等奖3个;
首先判断是否中奖,中奖概率为20%
中奖的客户再判断中哪个奖项,一等奖的概率:1/(1+2+3);二等奖概率:2/(1+2+3);三等奖概率:3/(1+2+3);
每次中某个奖品后,相应的奖品数量需要-1,如中出一个三等奖后,相应的中奖概率:一等奖的概率:1/(1+2+2);二等奖概率:2/(1+2+2);三等奖概率:2/(1+2+2);
某个奖品数量抽完后,该奖品中奖概率变成0,如一等奖抽完后,一等奖中奖概率:0/(0+2+3)
全部奖品抽空后,不能再中奖
private function getAwardresult($award)
{
if (empty($award)) {
return false;