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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
让你同时上传 1000 个文件 (二)
Oct 09 PHP
PHP中基本符号及使用方法
Mar 23 PHP
php中require和require_once的区别说明
Feb 27 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
php实现的任意进制互转类分享
Jul 07 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
python中正则的使用指南
2016/12/04 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python把转列表为集合的方法
2019/06/28 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
JAVA高级程序员面试题
2013/09/06 面试题
企业形象策划方案
2014/05/29 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
2014年调度员工作总结
2014/11/19 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
初中生活随笔
2015/08/15 职场文书
python如何做代码性能分析
2021/04/26 Python