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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
php笔记之:AOP的应用
Apr 24 PHP
深入理解require与require_once与include以及include_once的区别
Jun 05 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php实现图片压缩处理
Sep 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
MySQL修改密码方法总结
2008/03/25 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js对象转json数组的简单实现案例
2014/02/28 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
python数据结构之二叉树的遍历实例
2014/04/29 Python
python实现各进制转换的总结大全
2017/06/18 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
教师自我鉴定范文
2013/11/10 职场文书
大学生最常用的自我评价
2013/12/07 职场文书
主题婚礼策划方案
2014/02/10 职场文书
心理学专业求职信
2014/06/16 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
师德师风事迹材料
2014/12/20 职场文书
大学辅导员述职报告
2015/01/10 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
JavaScript 原型与原型链详情
2021/11/02 Javascript