php 大转盘 抽奖概率算法

随机输出“苹果”,“橘子”,“香蕉”要求输出“苹果”的概率为50%,“橘子”的概率为30%,“香蕉”的概率为20%

1.第一种算法
function getRandom($pr){
    $temp = rand(0,array_sum($pr));
    $left = 0;
    $right = 0; 
    foreach ($pr as $k=>$v){
        $right+=$v; 
        if($left<=$temp && $temp<$right){
            return $k;
        }
        $left+=$v;
    }
}

//转盘抽奖数据
function getAwardData(){
    return [
        1=>['id'=>1,'pr'=>50],
        2=>['id'=>2,'pr'=>30],
        4=>['id'=>4,'pr'=>20], 
    ];
}


$awardData  = getAwardData(); //抽奖的数据
foreach ($awardData as $v){
    $pr[$v['id']] = $v['pr'];
}
$award_id =  getRandom($pr);
print_r('id:'.$award_id);

第二种

//str_shuffle来处理

$array=array('1'=>'苹果','2'=>'橘子','3'=>'香蕉');
$string="1111122233";
$key=str_shuffle($string);
echo $array[$key{0}];

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大转盘抽奖是一种利用HTML编写的抽奖代。这种实现方式通过HTML标签和JavaScript脚本的有效结合,呈现出一个可交互的转盘界面,使用户能够参与抽奖活动。 在大转盘抽奖中,首先需要使用HTML标签创建一个转盘的基本框架,并设计好转盘的样式和奖品的布局。通过CSS样式表,我们可以为转盘和奖品设置相应的外观效果,使其更具吸引力。 接下来,通过JavaScript编写相关的脚本来实现转盘的旋转和奖品的随机选取功能。主要包括以下几个步骤: 1. 定义奖品数组:在JavaScript中,我们可以创建一个奖品数组,将抽奖的奖品按顺序存储在其中。 2. 将转盘划分为多个扇形区域:通过计算得出奖品个数,我们可以将转盘划分为相应的扇形区域,并将奖品均匀分布在这些区域中。 3. 实现转盘旋转:利用JavaScript的动画效果,在转盘上应用旋转动画,使其旋转起来,并设置旋转的速度和次数。 4. 奖品选取:根据旋转停止的位置,确定所选中的奖品,并将其显示给用户。 最后,我们可以将大转盘抽奖嵌入到网页中,并添加相应的按钮或触发事件,让用户能够点击或触摸进行抽奖操作。 通过利用HTML编写大转盘抽奖的代码,我们可以实现一个简单而有趣的抽奖活动,为用户提供一种有趣的互动体验。同时,我们也可以根据需求对大转盘抽奖进行功能扩展,如设置概率、中奖规则等,从而丰富抽奖的玩法和乐趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值