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安全编程之加密功能
Oct 09 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php 静态页面中显示动态内容
Aug 14 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
php URL跳转代码 减少外链
Jun 25 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
php之Memcache学习笔记
Jun 17 PHP
php防止sql注入简单分析
Mar 18 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
分析php://output和php://stdout的区别
May 06 PHP
php写入mysql中文乱码的实例解决方法
Sep 17 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
Python with用法实例
2015/04/14 Python
Python中自定义函数的教程
2015/04/27 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python任务调度实例分析
2015/05/19 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
Python中如何添加自定义模块
2020/06/09 Python
简述 Python 的类和对象
2020/08/21 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
PHP如何删除一个Cookie值
2012/11/15 面试题
历史专业个人求职信范文
2013/12/07 职场文书
生日主持词
2014/03/20 职场文书
会计工作态度自我评价
2015/03/06 职场文书
英文慰问信范文
2015/03/24 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书