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 microtime获取浮点的时间戳
Feb 21 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
析构函数与php的垃圾回收机制详解
Oct 28 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
php防止sql注入简单分析
Mar 18 PHP
PHP通过API获取手机号码归属地
May 28 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
PHP创建自己的Composer包方法
Apr 09 PHP
PHP explode()函数用法讲解
Feb 15 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 URL编码解码函数代码
2009/03/10 PHP
c#中的实现php中的preg_replace
2009/12/21 PHP
Yii学习总结之安装配置
2015/02/22 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
JS判定是否原生方法
2013/07/22 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
js操作二进制数据方法
2018/03/03 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python进程类subprocess的一些操作方法例子
2014/11/22 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
美国滑板店:Tactics
2020/11/08 全球购物
什么是数据抽象
2016/11/26 面试题
材料物理专业大学毕业生求职信
2013/10/15 职场文书
经理秘书岗位职责
2013/11/14 职场文书
酒店个人求职信范文
2014/01/25 职场文书
30年同学聚会感言
2014/01/30 职场文书