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中使用curl_init函数的说明
Nov 02 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
laravel实现上传图片的两种方式小结
Oct 12 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
php SQL Injection with MySQL
2011/02/27 PHP
php学习之function的用法
2012/07/14 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
JavaScript EasyPager 分页函数
2011/05/25 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
javascript实现网页字符定位的方法
2015/07/14 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
jQuery特殊符号转义的实现
2016/11/30 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
python算法学习之计数排序实例
2013/12/18 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
Python算法应用实战之栈详解
2017/02/04 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
岗位职责的含义
2013/11/17 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
检察院起诉书
2015/05/20 职场文书
董事会决议范本
2015/07/01 职场文书