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 相关文章推荐
php数据库连接
Oct 09 PHP
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php addslashes和mysql_real_escape_string
Jan 24 PHP
openPNE常用方法分享
Nov 29 PHP
2014过年倒计时示例
Jan 31 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 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
php5新改动之短标记启用方法
2008/09/11 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
python实现移动木板小游戏
2020/10/09 Python
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
软件设计的目标是什么
2016/12/04 面试题
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
工业自动化专业毕业生推荐信
2013/11/18 职场文书
写好自荐信的几个要点
2013/12/26 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
部门年终奖分配方案
2014/05/07 职场文书
会计学毕业生求职信
2014/06/25 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python
MySQL数据库完全卸载的方法
2022/03/03 MySQL