php实现按照权重随机排序数据的方法


Posted in PHP onJanuary 09, 2015

本文实例讲述了php实现按照权重随机排序数据的方法。分享给大家供大家参考。

具体实现方法如下:

<?php   

/**  

 * @param array $weight 权重  例如array('a'=>10,'b'=>20,'c'=>50)  

 * @return string key   键名   

 */  

function roll($weight = array()) {   

 $roll = rand ( 1, array_sum ( $weight ) );   

 $_tmpW = 0;   

 $rollnum = 0;   

  foreach ( $weight as $k => $v ) {   

  $min = $_tmpW;   

   $_tmpW += $v;   

   $max = $_tmpW;   

   if ($roll > $min && $roll <= $max) {   

    $rollnum = $k;   

    break;   

   }   

 }   

  return $rollnum;   

}   

 

$row=roll(array('a'=>10,'b'=>20,'c'=>50));   

echo $row;   

?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
解析php中heredoc的使用方法
Jun 17 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
php生成excel列序号代码实例
Dec 24 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php通过各种函数判断0和空
Jul 04 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 #PHP
linux中cd命令使用详解
Jan 08 #PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 #PHP
网站防止被刷票的一些思路与方法
Jan 08 #PHP
分享常见的几种页面静态化的方法
Jan 08 #PHP
php的ddos攻击解决方法
Jan 08 #PHP
php的sso单点登录实现方法
Jan 08 #PHP
You might like
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
解决vue移动端适配问题
2018/12/12 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
python多线程用法实例详解
2015/01/15 Python
用python 制作图片转pdf工具
2015/01/30 Python
Python格式化压缩后的JS文件的方法
2015/03/05 Python
Python中字符串的格式化方法小结
2016/05/03 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python Kmeans算法原理深入解析
2019/08/23 Python
如何在python中实现随机选择
2019/11/02 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
一年级语文教学反思
2014/02/13 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
网络技术专业推荐信
2014/02/20 职场文书
地球一小时宣传标语
2014/06/24 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
《活见鬼》教学反思
2016/02/24 职场文书