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 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
杏林同学录(四)
Oct 09 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
php实现事件监听与触发的方法
Nov 21 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
Oct 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
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php中的动态调用实例分析
2015/01/07 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
js继承实现方法详解
2016/12/16 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
js和jquery中获取非行间样式
2017/05/05 jQuery
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
JavaScript实现连连看连线算法
2019/01/05 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
详解Python self 参数
2019/08/30 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
python脚本框架webpy模板控制结构
2021/11/20 Python
docker 制作mysql镜像并自动安装
2022/05/20 Servers