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下获取客户端ip地址的函数
Mar 15 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
php模拟post提交数据的方法
Feb 12 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
TP5框架安全机制实例分析
Apr 05 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
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
python读写文件操作示例程序
2013/12/02 Python
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
Django 路由层URLconf的实现
2019/12/30 Python
Python接收手机短信的代码整理
2020/08/02 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
《秋游》教学反思
2014/04/24 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
总经理司机岗位职责
2015/04/10 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
创业计划书之便利店
2019/09/05 职场文书