【PHP】年会抽奖算法

电脑杂谈  发布时间:2020-06-21 08:03:07  来源:网络整理

php抽奖概率算法_vb抽奖代码 概率_问道抽奖概率算法

是新年的时候了. 每个公司都必须召开年会,而这恰好是最近的年会系统.

vb抽奖代码 概率_问道抽奖概率算法_php抽奖概率算法

要求: 单奖. 您可以设置某些人的中奖概率和中奖者的数量php抽奖概率算法,最后计算出中奖者

php抽奖概率算法_问道抽奖概率算法_vb抽奖代码 概率

算法实现:

vb抽奖代码 概率_问道抽奖概率算法_php抽奖概率算法

<?php
	
    /**
    *  $prize_arr 参与抽奖人员数据
    *  id: 一般是成员ID
    *  name 姓名
    *  v   得奖概率
    ***/
    $prize_arr = array( 
        0 => array(id=>1,name=>小王,v=>1), 
        1 => array(id=>2,name=>小李,v=>5), 
        2 => array(id=>3,name=>小张,v=>10), 
        3 => array(id=>4,name=>小二,v=>12), 
        4 => array(id=>5,name=>小菜,v=>22), 
        6 => array(id=>6,name=>小范,v=>50), 
        7 => array(id=>7,name=>小范01,v=>50), 
        8 => array(id=>8,name=>小范02,v=>50), 
        9 => array(id=>9,name=>小范03,v=>50), 
        10 => array(id=>10,name=>小范04,v=>50), 
        11 => array(id=>11,name=>小范05,v=>50), 
        12 => array(id=>12,name=>小范06,v=>50), 
        13 => array(id=>13,name=>小范07,v=>50), 
        14 => array(id=>14,name=>小范08,v=>50), 
        15 => array(id=>15,name=>小范09,v=>100), 
        16 => array(id=>16,name=>小范10,v=>100), 
    );  
    foreach ($prize_arr as $key => $val) { 
        $arr[$key] = $val[v]; 
    } 
    
    $total_num = 3; //设定得中奖人数量

    $temp_rest=array();
    for($i=0;$i<$total_num;$i++)
    {
        $rid = get_rand($arr); //根据概率获取人员ID
        $temp_rest[]= $prize_arr[$rid]; //中奖项
        unset($prize_arr[$rid]); 
        unset($arr[$rid]); 
    }
    print_r($temp_rest);//得出结果

    //得出当前中奖人
    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; 
    }

问道抽奖概率算法_vb抽奖代码 概率_php抽奖概率算法

它非常有用,您的朋友可以使用它!

然后问题来了. 如果我将某人中奖的机率设置为100%,那么确定中奖了吗?

答案是否定的. 我们讨论了这个问题. 抽奖不允许太黑. . 你的机率很高. 只是您的机会更大php抽奖概率算法,但这并不一定是您中了奖! (当然您也可以添加. 但是我坚决抵制这种可耻的行为)

实现如下:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-253080-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...