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 分库分表hash算法
Nov 12 PHP
php 读取文件乱码问题
Feb 20 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
PHP实现网站访问量计数器
Oct 27 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
laravel5实现微信第三方登录功能
Dec 06 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
jquery 问答知识整理
2010/02/11 Javascript
Js sort排序使用方法
2011/10/17 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
python中元类用法实例
2014/10/10 Python
Python ftp上传文件
2016/02/13 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
大学生实习思想汇报
2014/01/12 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
初中生活随笔
2015/08/15 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
vue前端工程的搭建
2021/03/31 Vue.js