php 数组排序 array_multisort与uasort的区别


Posted in PHP onMarch 24, 2011

Example:(简练)
uasort($arr,create_function('$a, $b','return $a[\'line_num\']<$b[\'line_num\'];'));
*************函数定义和语法*************
array_multisort
(PHP4 >= 4.0b4)
array_multisort --- 排序复合或多样尺寸的数组
语法 : bool array_multisort (array ar1 [,mixed arg [,mixed ...[,array...]]])
说明 :
Array_multisort( )能用来立刻将数个数组或多样尺寸(multi-dimensional)数组排序。
输入的数组被看作是表格(table)的栏位,依照列(rows)将它排序,这类似于SQL ORDER BY clause的功能,第一个数组是首要(primary)排序的数组,此数组中的列(值)以下一个输入的数组对照相同的排序。
这个函数的引数结构是个独特(unusual)位元,但是是可变通的。第一个引数必定是个数组,随后的引数可以是个数组或是下个列表的排序旗标(flag)之一。
排序顺序旗标 :
SORT_ASC - 排序成上升的顺序
SORT_DESC - 排序成下降的顺序
排序型态旗标 :
SORT_REGULAR - 正常的比较项目
SORT_NUMERIC - 以数字比较项目
SORT_STRING - 看作是字符串来比较项目
不能使用二个相同型态的旗标指定在各各数组之后,排序的旗标指定在数组引数的后面,只对此数组起作用,其它的将重设为预设的SORT_ASC和SORT_REGULAR在数组引数之后。
成功则传回true,失败则传回false。
*************函数定义和语法*************
uasort()
函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。
如果成功则返回 TRUE,否则返回 FALSE。
该函数主要用于对那些单元顺序很重要的结合数组进行排序。
语法
uasort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
function 必需。用户自定义的函数。
函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
如果 a = b, 返回 0
如果 a < b, 返回 1
如果 a > b, 返回 -1
PHP uasort() 函数
定义和用法
uasort() 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。
如果成功则返回 TRUE,否则返回 FALSE。
该函数主要用于对那些单元顺序很重要的结合数组进行排序。
语法
uasort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
function 必需。用户自定义的函数。
函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
如果 a = b, 返回 0
如果 a < b, 返回 1
如果 a > b, 返回 -1
例子

<?php 
function my_sort($a, $b) 
{ 
if ($a == $b) return 0; 
return ($a > $b) ? -1 : 1; 
} 
$people = array("Swanson" => "Joe", 
"Griffin" => "Peter", "Quagmire" => "Glenn", 
"swanson" => "joe", "griffin" => "peter", 
"quagmire" => "glenn"); 
uasort($people, "my_sort"); 
print_r ($people); 
?>

输出:
Array 
( 
[griffin] => peter 
[swanson] => joe 
[quagmire] => glenn 
[Griffin] => Peter 
[Swanson] => Joe 
[Quagmire] => Glenn 
)
PHP 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
杏林同学录(五)
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
用PHP程序实现支持页面后退的两种方法
Jun 30 PHP
php daodb插入、更新与删除数据
Mar 19 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
PHP查询快递信息的方法
Mar 07 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
一个基于PDO的数据库操作类
Mar 24 #PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 #PHP
常见的PHP五种设计模式小结
Mar 23 #PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 #PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 #PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 #PHP
php中取得URL的根域名的代码
Mar 23 #PHP
You might like
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP学习 变量使用总结
2011/03/24 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
前端性能优化及技巧
2016/05/06 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Python collections模块使用方法详解
2019/08/28 Python
iPython pylab模式启动方式
2020/04/24 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
PHP面试题及答案一
2012/06/18 面试题
Java基础知识面试题
2014/03/25 面试题
初中同学聚会感言
2014/02/11 职场文书
现场活动策划方案
2014/08/22 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
作风建设年度心得体会
2014/10/29 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
公司仓库管理制度
2015/08/04 职场文书