php抽奖函数

来源:互联网 发布:怎么备份应用数据 编辑:程序博客网 时间:2024/06/01 07:18

1相较于全概率抽奖,这种方法更快更小巧,把所有情况都放到数组里在返回数组就行了。

2遍历时前一个不成功的情况下也是有概率的,最后一个在前面都没抽到的情况下也一定能抽到;

3在抽奖是概率在小也能抽到奖,也能用这种方法。

function get_rand($proArr) {    $result = '';     $proSum = array_sum($proArr);    foreach ($proArr as $key => $proCur) {        $randNum = mt_rand(1, $proSum);        if ($randNum <= $proCur) {            $result = $key;            break;        } else {            $proSum -= $proCur;        }    }    unset ($proArr);     return $result;}
这种方法效率也很不错。返回一个成功失败的数组就行了。


原创粉丝点击