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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
PHP新手上路(十二)
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
Laravel手动返回错误码示例
Oct 22 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
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
php画图实例
2014/11/05 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python实现外卖信息管理系统
2018/01/11 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
文秘自荐信
2013/10/20 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
元宵节寄语大全
2015/02/27 职场文书
2015年个人思想总结
2015/03/09 职场文书
孔子观后感
2015/06/08 职场文书
教育教学工作反思
2016/02/24 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
python 远程执行命令的详细代码
2022/02/15 Python