博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
砸金蛋概率
阅读量:7154 次
发布时间:2019-06-29

本文共 1194 字,大约阅读时间需要 3 分钟。

   

    function getRand($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;
    }

 

 

 

 

 

 

<?php

$prize_arr = array(
    '0' => array('id'=>1,'prize'=>'平板电脑','v'=>3),
    '1' => array('id'=>2,'prize'=>'数码相机','v'=>5),
    '2' => array('id'=>3,'prize'=>'音箱设备','v'=>10),
    '3' => array('id'=>4,'prize'=>'4G优盘','v'=>12),
    '4' => array('id'=>5,'prize'=>'Q币10元','v'=>20),
    '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>50),
);
foreach ($prize_arr as $key => $val) {
    $arr[$val['id']] = $val['v'];
}
//print_r($arr);
$rid = getRand($arr); //根据概率获取奖项id
$res['msg'] = ($rid==6)?0:1;
$res['prize'] = $prize_arr[$rid-1]['prize']; //中奖项
echo json_encode($res);exit;

?>

 

自己用的

 

    $prize_arr = array(

                '0' => array('id'=>1,'prize'=>'1积分','v'=>90),
                '1' => array('id'=>2,'prize'=>'10积分','v'=>9),
                '2' => array('id'=>3,'prize'=>'100积分','v'=>1)
            );
            
            foreach ($prize_arr as $key => $val){
                $arr[$val['id']] = $val['v'];
            }
        
            $rid = getRand($arr);
            $_data['title'] = $prize_arr[$rid-1]['prize']; //中奖项

 

转载于:https://www.cnblogs.com/qiuyang1/p/4014956.html

你可能感兴趣的文章
本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。...
查看>>
调用系统拍照
查看>>
解方程
查看>>
Java——IO之常量及路径
查看>>
DKhadoop安装包下载与监控参数说明
查看>>
Linux-3.5-Exynos4412驱动分层分离
查看>>
Linux shell break、continue、exit、return的用法 及exit、return的区别
查看>>
手动实现 SpringMVC
查看>>
thinkphp 验证码的使用
查看>>
NSUserDefaults保存应用中的数据
查看>>
安装gevent错误/gevent/core.so: undefined symbol: event_global_current_base_ 的解决方案
查看>>
XML序列化点滴
查看>>
Android游戏与应用开发最佳学习路线图
查看>>
【转】NSJSONSerialization解析JSON数据
查看>>
POJ 3252 Round Numbers(数学问题)
查看>>
本地使用CVS
查看>>
模拟系统提示框
查看>>
在dos下运行java jar包,并把命令存为bat文件
查看>>
<如何成为一个成功的职业经理人>读书笔记2
查看>>
Java EE企业系统性能问题的原因和解决建议[也适用于.NET]
查看>>