PHP 二维数组排序
2015-08-12 17:24
561 查看
二维数组 根据某个字段排序(降序)
②
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY
子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一: •SORT_ASC - 默认,按升序排列。(A-Z) •SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
•SORT_REGULAR - 默认。将每一项按常规顺序排列。
•SORT_NUMERIC - 将每一项按数字顺序排列。
•SORT_STRING - 将每一项按字母顺序排列。
①
$data =array(array('id'=>1,'name'=>'小明'),array('id'=>2,'name'=>'小红'); $datas = sort_arr($data,'id'); print_r($datas);
function sort_arr($arr,$val) { $count = count($arr); if($count <= 0) { return false; } for($i=0;$i<$count;$i++) { for($j=0;$j<$count-1;$j++) { if($arr[$j][$val] < $arr[$j+1][$val]) { foreach ($arr[$j] as $key=>$temp) { $t=$arr[$j+1][$key]; $arr[$j+1][$key]=$arr[$j][$key]; $arr[$j][$key]=$t; } } } } return $arr; }
②
function my_sort($arrays,$sort_key,$sort_order=SORT_DESC,$sort_type=SORT_NUMERIC ) { if(is_array($arrays)) { foreach ($arrays as $array) { if(is_array($array)) { $key_arrays[] = $array[$sort_key]; }else{ return false; } } } else{ return false; } array_multisort($key_arrays,$sort_order,$sort_type,$arrays); return $arrays; }
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY
子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一: •SORT_ASC - 默认,按升序排列。(A-Z) •SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
•SORT_REGULAR - 默认。将每一项按常规顺序排列。
•SORT_NUMERIC - 将每一项按数字顺序排列。
•SORT_STRING - 将每一项按字母顺序排列。
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- Lua中使用二维数组实例
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)