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开发中的错误收集,不定期更新。
Feb 03 PHP
php中的三元运算符使用说明
Jul 03 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
php实现读取超大文件的方法
Jul 28 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
php发送http请求的常用方法分析
Nov 08 PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
PHP支付宝当面付2.0代码
Dec 21 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
php 日期时间处理函数小结
2009/12/18 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
Use Word to Search for Files
2007/06/15 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python获取文件ssdeep值的方法
2014/10/05 Python
python实现简单温度转换的方法
2015/03/13 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
python实现人工蜂群算法
2020/09/18 Python
python+opencv实现车道线检测
2021/02/19 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
岗位竞聘报告范文
2014/11/06 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
活动总结书怎么写
2015/05/11 职场文书
信用卡催款律师函
2015/05/27 职场文书
政审证明范文
2015/06/19 职场文书
热爱劳动主题班会
2015/08/14 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python