美文网首页
php抽奖函数可以根据设置的抽奖率抽到一等奖 二等奖 三等奖 四

php抽奖函数可以根据设置的抽奖率抽到一等奖 二等奖 三等奖 四

作者: 阿然学编程 | 来源:发表于2023-09-23 16:41 被阅读0次
/**
 * 抽奖函数
 * @param $prizes  奖品信息(二维数组)
 * @return mixed|string
 */
function lotteryDraw($prizes)
{
    // 计算总概率
    $totalProbability = array_sum(array_column($prizes, 'lv'));

    // 生成一个随机数作为抽奖结果
    $randomNumber = mt_rand(1, $totalProbability);

    // 根据随机数选择中奖项
    foreach ($prizes as $prize) {

        if ($randomNumber <= $prize['lv']) {

            // 判断奖品数量是否足够
            if ($prize['num'] > 0) {
                // 中奖,返回奖品名称
                return $prize;

            } else {
                // 奖品数量不足,重新抽奖
                return '再接再厉,下次一定!';
            }

        } else {

            $randomNumber -= $prize['lv'];
        }
    }
    unset ($prizes);

    // 所有奖品数量都为0,无法中奖
    return '很遗憾,您未能中奖!';
}
  
// 示例用法  
$rate = array(
    array(
        "id" => 1,//奖品id
        "prize" => "一等奖",//奖品名称
        "lv" => 1,//奖品中奖概率
        "num" => 5,//奖品数量
    ),
    array(
        "id" => 2,
        "prize" => "二等奖",
        "lv" => 5,
        "num" => 20,
    ),
    array(
        "id" => 3,
        "prize" => "三等奖",
        "lv" => 11,
        "num" => 30,
    ),
    array(
        "id" => 4,
        "prize" => "四等奖",
        "lv" => 86,
        "num" => 40,
    )
);
$result = lotteryDraw($rate);  
echo $result;

相关文章

  • 抽奖

    一天晚上,妈妈带我们去抽奖。来到目的地时,人家早就开始抽奖了。抽奖分为优秀奖,三等奖,二等奖,一等奖,但我优秀奖三...

  • 抽奖|30元现金红包,无套路纯福利

    关注公众号“小鹤卿”,在底部对话框回复“抽奖”,即可获取抽奖链接 抽取2个一等奖,5个二等奖,10个三等奖 一等奖...

  • 合作贵在沟通

    这段时间,我们超市在举行抽奖活动,顾客凭会员卡消费一定金额即可参加抽奖。 奖品又分为幸运奖、三等奖、二等奖、一等奖...

  • 招商发布会的要注意的一些小细节

    1.做抽奖政策时,抽红包一定要先把一二三等奖的红包预留出来,防止前几个抽奖的人抽到,等到签约5人左右,再把三等奖、...

  • 曾轶哲+20170113+第五次作业+诗琪组

    A1:去年公司的年会,抽奖奖项设置与抽取设置。去年我们的奖项设置比较平均,一等奖ipad mini2 x1,二等奖...

  • 2018-09-27

    草,中公杯的抽奖赛制好不合理,一等奖一名,二等奖一名,三等奖三名……我刚好第六……

  • 微小说/特等奖

    抽奖箱里还有12个球,己开出一等奖壹万元、二等奖伍仟元、三等奖叁仟元。看着领奖的同事,个个笑容灿烂犹如盛放...

  • 抽奖

    参加一个作者群的抽奖活动,一不小心中了个一等奖,让人高兴了一下。 简书上有一个活动,就是天天抽奖,偶尔可以抽到一万...

  • 每日一笑 童趣

    幼儿园举行六一活动,中间有抽奖环节。三等奖四名,保温杯一个,没咱;二等奖两名,四件套一个,没咱;一等奖一名,国学学...

  • 骗局

    “免费抽奖啦!免费抽奖!抽到什么送什么!抽到水杯,我就送水杯!抽到雨伞,我就送雨伞!抽奖嘞!百分之百中奖嘞!自愿参...

网友评论

      本文标题:php抽奖函数可以根据设置的抽奖率抽到一等奖 二等奖 三等奖 四

      本文链接:https://www.haomeiwen.com/subject/jyixbdtx.html