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生成自己的LOG文件
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
php 生成短网址原理及代码
Jan 23 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
PHP下载远程图片的几种方法总结
Apr 07 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 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开发的一些注意点总结
2010/10/12 PHP
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python操作kafka实践的示例代码
2019/06/19 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
以太网Ethernet IEEE802.3
2013/08/05 面试题
早餐连锁店计划书
2014/01/08 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
网络销售员岗位职责
2015/04/11 职场文书
导游词之西安骊山
2019/12/03 职场文书
windows系统搭建WEB服务器详细教程
2022/08/05 Servers