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 相关文章推荐
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 PHP
PHP操作路由器实现方法示例
Apr 27 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 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使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
SVM基本概念及Python实现代码
2017/12/27 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
会计电算化专业个人的自我评价
2013/11/24 职场文书
党员干部承诺书
2014/03/25 职场文书
销售类求职信
2014/06/13 职场文书
六一儿童节标语
2014/10/08 职场文书
师德师风事迹材料
2014/12/20 职场文书
社区好人好事材料
2014/12/26 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers
golang为什么要统一错误处理
2022/04/03 Golang