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下使用SimpleXML 处理XML 文件
Feb 27 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php调用google接口生成二维码示例
Apr 28 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
php修改数组键名的方法示例
Apr 15 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
layui数据表格自定义每页条数limit设置
Oct 26 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数字转汉字代码(算法)
2011/10/08 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
python之验证码生成(gvcode与captcha)
2019/01/02 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
村捐赠仪式答谢词
2014/01/21 职场文书
签约仪式主持词
2014/03/19 职场文书
本科毕业生自荐信
2014/06/02 职场文书
激励口号大全
2014/06/17 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
质量保证书
2015/01/17 职场文书
地道战观后感400字
2015/06/04 职场文书
单独二胎证明
2015/06/24 职场文书
礼仪培训心得体会
2016/01/22 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS