php抽奖计算的例子

发布时间:2020-03-29编辑:脚本学堂
本文介绍一个实现抽奖计算的php代码,供大家学习参考。

做一个抽奖功能,假设有10种奖品,每样的抽中概率都是10%。
代码如下:

复制代码 代码示例:

<?php
/**
* php抽奖程序
* edit www.jb200.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分时间段的抽奖程序代码