修改了thinkphp的数组排序函数
2013-05-07 19:44
176 查看
thinkphp里有一个数组排序的函数,我对它作出了一些修改,可以支持二维数组排序,三维数组排序等多维数组排序。查看源代码打印帮助
1 | /** |
2 | +---------------------------------------------------------- |
3 | * 对列表数组进行排序 |
4 | +---------------------------------------------------------- |
5 | * @param array $list 列表数组 |
6 | * @param string $field 排序的字段名 |
7 | * 例:$list 为二维时 $field='["field_name"]' $list为三维时 $field='["field_name"]['field_name']'; |
8 | * @param array $sortby 排序类型 |
9 | * asc正向排序 desc逆向排序 nat自然排序 |
10 | +---------------------------------------------------------- |
11 | * @return array |
12 | +---------------------------------------------------------- |
13 | */ |
14 | function list_sort_by( $list , $field , $sortby = 'asc' ) { |
15 | if ( is_array ( $list )){ |
16 | $refer = $resultSet = array (); |
17 | foreach ( $list as $i => $data ) |
18 | eval ( '$refer[$i]=&$data' . $field . ';' ); |
19 | switch ( $sortby ) { |
20 | case 'asc' : // 正向排序 |
21 | asort( $refer ); |
22 | break ; |
23 | case 'desc' : // 逆向排序 |
24 | arsort( $refer ); |
25 | break ; |
26 | case 'nat' : // 自然排序 |
27 | natcasesort( $refer ); |
28 | break ; |
29 | } |
30 | foreach ( $refer as $key => $val ) |
31 | //$resultSet[] =&$list[$key]; |
32 | $resultSet [ $key ] =& $list [ $key ]; //维持原来索引 |
33 | return $resultSet ; |
34 | } |
35 | return false; |
36 | } |
相关文章推荐
- JavaScript数组内置排序函数
- javascript 数组排序函数
- PHP下对数组进行排序的函数
- 主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果
- PHP中数组排序函数详解
- php 数组操作(增加,删除,查询,排序)等函数说明第1/2页
- 写一个函数排序整个字符串数组
- 数组操作:遍历,排序,数组函数等
- java数组的排序 对象数组的排序 Comoarable接口实现 compareTo函数实现
- php通过ksort()函数给关联数组按照键排序的方法
- 第十六周项目1按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序
- 对数组进行排序、求最大值和求元素和的算法都编写为函数模板,采用相关数据进行测试
- sort函数的用法(C++排序库函数的调用) 对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。 (一)为什么要用c++标准库里的排序函数 Sort()函数是c+
- JS中的数组排序函数-sort()与revsrse()
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- array_multisort函数,以及多维数组下排序的应用,并与usort函数对比
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(Python实现)
- php-Arrays 函数-array_multisort-对多个数组或多维数组进行排序
- //1.主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果。
- 数组符值后,排序和修改,两个数组都会变的问题