最新公告
  • 欢迎您光临002y资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • PHP编程实现计算抽奖概率算法完整实例

    正文概述    2022-07-06   44

    本文实例讲述了PHP编程实现计算抽奖概率算法。分享给大家供大家参考,具体如下:

    <?php
     //计算抽奖的概率
     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;
     }
     $prize_arr = array(
     '0' => array('id'=>1,'prize'=>'家电','v'=>2),
     '1' => array('id'=>2,'prize'=>'数码相机','v'=>5),
     '2' => array('id'=>3,'prize'=>'iPad','v'=>13),
     '3' => array('id'=>4,'prize'=>'LED显示器','v'=>15),
     '4' => array('id'=>5,'prize'=>'U盘','v'=>25),
     '5' => array('id'=>6,'prize'=>'键盘','v'=>30),
     '6' => array('id'=>7,'prize'=>'鼠标垫','v'=>10),
     );
     foreach ($prize_arr as $key => $val) {
     $arr[$val['id']] = $val['v'];
     }
     $rid = get_rand($arr);
     $res['yes'] = $prize_arr[$rid-1]['prize'];
     unset($prize_arr[$rid-1]);
     shuffle($prize_arr);
     $prize_arrcount = count($prize_arr);
     for($i=0;$i<$prize_arrcount;$i++){
     $pr[] = $prize_arr[$i]['prize'];
     }
     $res['no'] = $pr;
     //抽奖结果
     $ro = $res['yes'];
     print_r($ro);
    ?>
    
    

    运行结果:

    iPad
    
    

    PS:这里再为大家提供两款功能类似的在线工具供大家参考:

    在线随机数字/字符串生成工具:
    http://tools.ddpool.cn/aideddesign/suijishu

    在线随机字符/随机密码生成工具:
    http://tools.ddpool.cn/aideddesign/rnd_password

    在线随机数生成工具:
    http://tools.ddpool.cn/aideddesign/rnd_num

    高强度密码生成器:
    http://tools.ddpool.cn/password/CreateStrongPassword

    希望本文所述对大家PHP程序设计有所帮助。


    002y资源网 » PHP编程实现计算抽奖概率算法完整实例

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    微信支付
    余额支付
    ×
    微信扫码支付 0 元