分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

php 实现简单抽奖

发布时间:2023-09-06 01:23责任编辑:顾先生关键词:暂无标签

首先有一组数据,里面有中奖的物品和概率

$base_data = [  [‘name‘=>‘特等奖‘,‘num‘=>1],  [‘name‘=>‘一等奖‘,‘num‘=>5],  [‘name‘=>‘二等奖‘,‘num‘=>20],  [‘name‘=>‘三等奖‘,‘num‘=>50],  [‘name‘=>‘真遗憾‘,‘num‘=>100]];

两种实现方法

//根据num的个数生成一个数组,并合并//打乱数组,然后随机返回一个元素//计算概率1function data($arr){  $return = [];  foreach($arr as $key => $val){    for($i = 0; $i < $val[‘num‘]; $i++){      $return[] = $val[‘name‘];    }  }  shuffle($return);  return $return[array_rand($return)];}$data = data($base_data);var_dump($data);
//计算概率2function get_rand($arr){  $sum = 0;  $result = ‘‘;  foreach($arr as $v){    $sum += $v[‘num‘];  }  foreach($arr as $val){    $rand = mt_rand(1, $sum);    if($rand <= $val[‘num‘]){      $result = $val[‘name‘];      break;    }else{      $sum -= $val[‘num‘];    }  }  return $result;}



php 实现简单抽奖

原文地址:http://www.cnblogs.com/ilys/p/7802887.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved