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 相关文章推荐
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
smarty表格换行实例
Dec 15 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
PHP中overload与override的区别
Feb 13 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中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
VueJS全面解析
2016/11/10 Javascript
javascript自执行函数
2017/02/10 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
什么是python的必选参数
2020/06/21 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
民主生活会整改措施(党员)
2014/09/18 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
工程部主管岗位职责
2015/02/12 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android