php简单计算权重的方法示例【适合抽奖类应用】


Posted in PHP onJune 10, 2019

本文实例讲述了php简单计算权重的方法。分享给大家供大家参考,具体如下:

//简单权重计算器
$data222=array(
  0=>array('id'=>1,'name'=>'一等奖','weight'=>'3'),
  1=>array('id'=>2,'name'=>'二等奖','weight'=>'1'),
  2=>array('id'=>3,'name'=>'三等奖','weight'=>'5'),
  3=>array('id'=>3,'name'=>'三等奖','weight'=>'1'),
);
// 权重数值越高,被返回的概率越大
// 原理生成权重个数的数组字,入array(5个0,10个1,25个2)
function countWeight($data){
  $i=0;
  $temp=array();
  foreach($data as $v){
    for($i=0;$i<$v['weight'];$i++){
      $temp[]=$v;//放大数组
    }
  }
  $num = count($temp);  //查看网上的有错误,本人已改正
  $int=mt_rand(0,$num-1);//获取一个随机数
  $result=$temp[$int];
  return $result;  //返回一维数组
}
echo '<pre>';
var_dump(countWeight($data222));

执行后的效果为

array(3) {
  ["id"]=>
  int(2)
  ["name"]=>
  string(9) "二等奖"
  ["weight"]=>
  string(2) "10"
}

PHP 相关文章推荐
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
php常用数学函数汇总
Nov 21 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
PHP实现一个简单url路由功能实例
Nov 05 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 #PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 #PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 #PHP
php中字符串和整数比较的操作方法
Jun 06 #PHP
使用PHPWord生成word文档的方法详解
Jun 06 #PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 #PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 #PHP
You might like
thinkPHP查询方式小结
2016/01/09 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
在Django的session中使用User对象的方法
2015/07/23 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python中update的基本使用方法详解
2019/07/17 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
普天C++笔试题
2016/03/20 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
岗位职责的定义
2013/11/10 职场文书
门卫班长岗位职责
2013/12/15 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
三年大学自我鉴定
2014/01/16 职场文书
捐书寄语赠言
2014/01/18 职场文书
最常使用的求职信
2014/05/25 职场文书
拉歌口号大全
2014/06/13 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
MySQL存储过程及语法详解
2022/08/05 MySQL