php 数组排序 array_multisort与uasort的区别

2015-01-24信息快讯网

其实,简单的说两者的最重要的区别:array_multisort()排序之后,原数组“键”丢失。uasort()排序之后,保留原来的“键”。

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 
) 
ThinkPHP 连接Oracle数据库的详细教程[全]
Zend Framework中的简单工厂模式 图文
工厂模式在Zend Framework中应用介绍
PHP删除数组中的特定元素的代码
php数组中删除元素的实现代码
php数据结构与算法(PHP描述) 快速排序 quick sort
深入理解PHP之数组(遍历顺序) Laruence原创
逆序二维数组插入一元素的php代码
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
php中json_decode()和json_encode()的使用方法
php的array_multisort()使用方法介绍
PHP异步调用socket实现代码
php操作JSON格式数据的实现代码
PHP中usort在值相同时改变原始位置问题的解决方法
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
php邮件发送,php发送邮件的类
一个基于PDO的数据库操作类
php expects parameter 1 to be resource, array given 错误
WordPress判断用户是否登录的代码
PHP中for与foreach的区别分析
PHP数组交集的优化代码分析
php下安装配置fckeditor编辑器的方法
8个出色的WordPress SEO插件收集
zend framework多模块多布局配置
php 数组的指针操作实现代码
PHP数组对比函数,存在交集则返回真,否则返回假
php下将多个数组合并成一个数组的方法与实例代码
PHP操作数组相关函数
PHP JSON格式数据交互实例代码详解
重新封装zend_soap实现http连接安全认证的php代码
array_multisort实现PHP多维数组排序示例讲解
php关于array_multisort多维数组排序的使用说明
PHP 多维数组排序(usort,uasort)
php natsort内核函数浅析第1/2页
©2014-2024 dbsqp.com