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 相关文章推荐
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php对接java现实加签验签的实例
Nov 25 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
设定php简写功能的方法
Nov 28 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 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
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
基于php下载文件的详解
2013/06/02 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
smarty简单分页的实现方法
2014/10/27 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
js比较和逻辑运算符的介绍
2013/03/10 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
ASP.NET中的身份验证有那些
2012/07/13 面试题
医学毕业生自荐信
2013/10/11 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
大家访活动实施方案
2014/03/10 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
求职自荐信怎么写
2015/03/04 职场文书
化工生产实习心得体会
2016/01/22 职场文书