php实现excel中rank函数功能的方法
本文实例讲述了php实现excel中rank函数功能的方法。分享给大家供大家参考。具体分析如下:
sql语句实现排名是像这样的如:
总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的,
而Excel函数rank排名得到的结果是1,2,2,4,遇到并列跳过中间的3
下面的函数模拟的就是这种情况
函数如下(不知道有没有更好的实现方法):
公式为: 名次=总人数--比自己小的数的个数-这个分数重复次数+1(加上自己)
得到名次的数组再根据对应的id写入到数据库,就实现rank的计算功能
(当然这个也可以改成这样195,180,180,165,名次是这样的1,2,2,3)
//获得一组数的名次的数组
function rank(array $array){
foreach($array as $val){
$repeat=get_array_repeats($val,$array);
$num=gt_array_values($val,$array);
$rank[]=count($array)-$num-$repeat+1;
}
return $rank;
}
//获得比自己数小的个数
function gt_array_values($val,array $array){
$num=0;
for($i=0;$i<count($array);$i++){
if($val>$array[$i]){
$num++;
}
}
return $num;
}
//获得这个数的重复次数
function get_array_repeats($string,array $array) {
$count = array_count_values($array);
foreach ($count as $key => $value) {
if ($key == $string) {
return $value;
}
}
}
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
PHPExcel中的一些常用方法汇总
PHPExcel 是相当强大的 MS Office Excel 文档生成类库,当需要输出比较复杂格式数据的时候,PHPExcel 是个不错的选择.不过其使用方法相对来说也就有些繁琐.列举以记之. 复制代码 代码如下: <? //设置PHPExcel类库的include path set_include_path('.'. PATH_SEPARATOR . 'D:\Zeal\PHP_LIBS' . PATH_SEPARATOR .
-
用PHP生成excel文件到指定目录
最近公司要生成报表,用PHP生成. header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls"); 我百度了下,貌似这个很快能够实现,但是这个文件却是生成在在浏览器下载的地方, 我想把生成的文件生成到指定的目录,这样能否实现呢? 还有,可以往里面插入图片吗? PHPExcel是英文的,看了半天没看懂.有没
-
jQuery表格插件datatables用法总结
DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格. 官方网站及其下载地址:http:/www.datatables.net 当前最新版为1.10.2,读者可点此本站下载. 其主要特点如下: 1.自动分页处理 2.即时表格数据过滤 3.数据排序以及数据类型自动检测 4.自动处理列宽度 5.可通过CSS定制样式 6.支持隐藏列 7.易用 8.可扩展性和灵活性 9.国际化 10.动态创建表格 11.免费的 使用方
-
PHP 导出Excel示例分享
下载PHPExcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下: 导出文件Excel.php require_once dirname(__FILE__).'/Classes/PHPExcel.php';//引入PHPExcel .....此处略去从数据库获取数据的过程,$a为需要导出的数组...... $numArr = array('A','B','C','D
-
php导出中文内容excel文件类实例
本文实例讲述了php导出中文内容excel文件类.分享给大家供大家参考.具体如下: <?php class toExcel{ public $link = null; function __construct(){ } /*************************************************************************** * $mapping:数组格式头信息$map=array('No','Name','Email','Age'); * $dat
-
DataTables List互相转换的实现类示例
复制代码 代码如下: public static class DataTableHelper { public static DataTable ConvertTo<T>(IList<T> list) { DataTable table = CreateTable<T>(); Type entityType = typeof(T); PropertyDescriptorC
-
jquery+php实现导出datatables插件数据到excel的方法
本文实例讲述了jquery+php实现导出datatables插件数据到excel的方法.分享给大家供大家参考.具体如下: DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格.主要特点: 1. 自动分页处理 2. 即时表格数据过滤 3. 数据排序以及数据类型自动检测 4. 自动处理列宽度 5. 可通过CSS定制样式 6. 支持隐藏列 7. 易用 8. 可扩展性和灵活性 9. 国际化 10.动态创建表格 11.
-
php实现excel中rank函数功能的方法
本文实例讲述了php实现excel中rank函数功能的方法.分享给大家供大家参考.具体分析如下: sql语句实现排名是像这样的如: 总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的, 而Excel函数rank排名得到的结果是1,2,2,4,遇到并列跳过中间的3 下面的函数模拟的就是这种情况 函数如下(不知道有没有更好的实现方法): 公式为: 名次=总人数--比自己小的数的个数-这个分数重复次数+1(加上自己) 得到名次的数组再根据对应的id写入到
-
Python实现读取excel中的图片功能
目录 一.读取excel文件 二.读取excel中的图片 (1)使用zipfile模块 (2)使用openpyxl读取 三.对读取的图片进行处理 补充 一.读取excel文件 我们先来看看如何读取excel文件,读取excel文件的方式很多.这里选择openpyxl模块,安装语句如下: pip install openpyxl 我们还需要用到一些其它模块,具体如下: pip install pyzbar pip install pillow pip install numpy 下面我们就可以开始
-
python3中rank函数的用法
网上存在这么一个例子 obj = pd.Series([7,-5,7,4,2,0,4]) obj.rank() 输出为: 0 6.5 1 1.0 2 6.5 3 4.5 4 3.0 5 2.0 6 4.5 dtype: float64 之前一直没弄懂是啥意思 这里解释下 rank 表示在这个数在原来的向量中排第几名,有相同的数,按最小排序,取平均(默认).这里解释下 0 6.5 这里的0就是值得obj中的第一个数 也就是7 应该排名第七 但是第六名和第七名都一样 取平均值 1 1.0 这里的1指
-
C++头文件algorithm中的函数功能详解
目录 1. 不修改内容的序列操作 (1)all_of (2)any_of (3)none_of (6)find_if (7)find_if_not (8)find_end (10)adjacent_find (12)count_if (15)is_permutation (16)search 2. 修改内容的序列操作 (1)copy (2)copy_n (3)copy_if (4)copy_backward (5)move (6)move_backward (7)swap (8)swap_ran
-
C++中strstr函数的实现方法总结
C++中strstr函数的实现方法总结 函数说明: 包含文件:string.h 函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2); 功能:从字符串str1中查找是否有字符串str2, 如果有,从str1中的str2位置起,返回str1的指针,如果没有,返回null. 返回值:返回该位置的指针,如找不到,返回空指针. 方法一: #include <iostream> #include <assert.h> usi
-
php中array_column函数简单实现方法
本文实例讲述了php中array_column函数简单实现方法.分享给大家供大家参考,具体如下: php中的array_column()可返回输入数组中某个单一列的值. 示例: <?php // 从数据库中返回数组: $a = array( array( 'id' => 0015, 'age' => '20', 'name' => 'Tom', ), array( 'id' => 0016, 'age' => '21', 'name' => 'Jack', ),
-
Python读取excel中的图片完美解决方法
excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法. 网上找了一种很聪明的方法,原理是这样的: 1.将待读取的excel文件后缀名改成zip,变成压缩文件. 2.再解压这个文件. 3.在解压后的文件夹中,就有excel中的图片. 4.这样读excel中的图片,就变成了读文件夹中的图片了,和普通文件一样,可以做各种处理. 解压后的压缩包如下: python脚本如下: ''' File Name: readexcelimg Author: tim Date:
-
Java 冻结或解除冻结Excel中的行和列的方法
当Excel表格中有大量数据时,为了方便浏览,我们可通过冻结窗口这一功能将某几行或某几列的数据冻结起来,这样在我们滚动窗口时,这几行或几列的数据就会被固定住,而不会随着其他单元格的移动而移动.总的来说,Excel冻结窗口可细分为三类:冻结行.冻结列及同时冻结行和列.本文将通过使用Java程序来演示如何冻结或解除冻结Excel中的行和列. 使用工具:Free Spire.XLS for Java(免费版) Jar文件获取及导入: 方法1:通过官网下载获取jar包.解压后将lib文件夹下的Spire
-
详解Django中 render() 函数的使用方法
render() 函数 在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细心阅之) # index的 urls.py from django.urls import path form . import views urlpatterns = [ # 定义首页的路由 path(' ', views.index, name='index'), ] # index的views.py from
-
oracle中decode函数的使用方法示例
decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 THEN RETURN(value 1) ELSIF 条件=值2 THEN RETURN(value 2) ...... ELSIF 条件=值n THEN RETURN(value 3) ELSE RETURN(default) END IF sql测试 select empno,decode(empn
随机推荐
- java、js中实现无限层级的树形结构方法(类似递归)
- spring task 定时任务实现示例
- PHP判断文件是否存在、是否可读、目录是否存在的代码
- PHP 变量的定义方法
- thinkphp3.x中display方法及show方法的用法实例
- asp采集抓取网上房产信息的代码
- C语言菜鸟基础教程之常量和变量
- ECMAScript6 新特性范例大全
- vue-resouce设置请求头的三种方法
- 实现复选框全选/全不选切换
- jQuery EasyUI API 中文文档 - Form表单
- BootStrap 弹出层代码
- ftp突然直接连接不上了的解决方法
- Android画廊效果之ViewPager显示多个图片
- 详解IntelliJ IDEA 自定义方法注解模板
- 解决DataFrame排序sort的问题
- Node.js 路由的实现方法
- vue 框架下自定义滚动条(easyscroll)实现方法
- python用plt画图时,cmp设置方法
- Ubuntu E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)