PHP抽奖代码

<?php
    //配置奖项数组
    $arr_prize = array(
            array('id'=>1,'prize'=>'iphone7','v'=>1),
            array('id'=>2,'prize'=>'平板电脑','v'=>10),
            array('id'=>3,'prize'=>'100元红包','v'=>15),
            array('id'=>4,'prize'=>'50元红包','v'=>24),
            array('id'=>5,'prize'=>'很遗憾没有中奖','v'=>50)
        );
    //抽奖算法
    function get_rand($arr)
    {
        $result = '';

        $sum = array_sum($arr);

        foreach ($arr as $key => $value) 
        {
            $r = mt_rand(1,$sum);
            if($r <= $value)
            {
                $result = $key;
                break;
            }else
            {
                $sum -= $value;
            }       
        }
        unset($arr);
        return $result;
    }
    //抽奖
    foreach ($arr_prize as $key => $value) 
    {
         $arr[$value['id']] = $value['v'];
    }
    $id = get_rand($arr);
    $res['yes'] = $arr_prize[$id-1]['prize'];
    unset($arr_prize[$id-1]);//把中奖项删除
    shuffle($arr_prize); //打乱数组顺序 
    for($i=0;$i<count($arr_prize);$i++){ 
        $pr[] = $arr_prize[$i]['prize']; 
    } 
    $res['no'] = $pr;
    var_dump($res);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容