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 google或baidu分页代码
Nov 26 PHP
深入PHP操作MongoDB的技术总结
Jun 02 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
ThinkPHP5框架缓存查询操作分析
May 30 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数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
cakephp常见知识点汇总
2017/02/24 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
浅谈Javascript数组的使用
2015/07/29 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
python采集百度百科的方法
2015/06/05 Python
python修改字典内key对应值的方法
2015/07/11 Python
Python输出各行命令详解
2018/02/01 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
python求前n个阶乘的和实例
2020/04/02 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
心理咨询承诺书
2014/05/20 职场文书
迎国庆演讲稿
2014/09/15 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
大学生见习总结报告
2015/06/24 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js