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的计数器程序
Oct 09 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
php中curl和file_get_content的区别
May 10 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
php获取错误信息的方法
Jul 17 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
php中通用的excel导出方法实例
Dec 30 PHP
php连接MSsql server的五种方法总结
Mar 04 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
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
Python-基础-入门 简介
2014/08/09 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
在python里从协程返回一个值的示例
2019/02/19 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
python argparser的具体使用
2019/11/10 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
20年同学聚会感言
2014/02/03 职场文书
计生工作先进事迹
2014/08/15 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
详解Python内置模块Collections
2022/03/22 Python