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更快的提供文件下载的代码
Jun 13 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP生成plist数据的方法
Jun 16 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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中执行系统外部命令
2006/10/09 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
JavaScript 比较时间大小的代码
2010/04/24 Javascript
javascript event 事件解析
2011/01/31 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python实现KNN邻近算法
2021/01/28 Python
PyQt5实现拖放功能
2018/04/25 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
高级技校毕业生自荐信
2013/11/18 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
全神贯注教学反思
2014/02/03 职场文书
入党函调证明材料
2015/06/19 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang