加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Php 数组排序之多维数组排序

发布时间:2022-11-22 14:01:24 所属栏目:PHP教程 来源:网络
导读: Php 数组排序之多维数组排序
php 中最强大的类型非数组莫属!任何类型的数据都可以用数组来存储。
项目开发中对数组排序已是家常便饭,本文主要是总结一些经验和方法以及它们的区别,供大家

Php 数组排序之多维数组排序

php 中最强大的类型非数组莫属!任何类型的数据都可以用数组来存储。

项目开发中对数组排序已是家常便饭,本文主要是总结一些经验和方法以及它们的区别,供大家学习参考。

一维数组排序 sort 函数:

本函数对数组值转换为整型并被从最低到最高重新安排,删除原有的键名。成功时返回 TRUE, 或者在失败时返回 FALSE.

rsort 函数:

本函数对数组值转换为整型并被从最高到最低重新安排,删除原有的键名。成功时返回 TRUE, 或者在失败时返回 FALSE.

asort 函数:

本函数对数组进行低到高排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进行排序。

arsort 函数:

对数组进行逆向排序(高到低)并保持索引关系

本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进行排序。

成功时返回 TRUE, 或者在失败时返回 FALSE.

多维数组排序 usort函数:bool usort ( array&$array ,callback$cmp_function )

本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数

此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。

成功时返回 TRUEPHP数组排序, 或者在失败时返回 FALSE.

uasort 函数:bool uasort (array&$array ,callback$cmp_function )

uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

本函数对数组排序并保持索引和单元之间的关联。主要用于对那些单元顺序很重要的结合数组进行排序。

比较函数是用户自定义的。

成功时返回 TRUE, 或者在失败时返回 FALSE.

uksort 函数:bool uksort (array&$array ,callback$cmp_function )

本函数将使用用户提供的比较函数对数组中的键名进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

cmp_function 函数应接受两个参数,该参数将被array 中的一对键名填充。

比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

成功时返回 TRUE, 或者在失败时返回 FALSE(本排序方法和 uasort 非常类似).

array_multisort函数:bool array_multisort (array$ar1 [,mixed$arg [,mixed$... [,array$... ]]] )

可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

关联(string)键名保持不变,但数字键名会被重新索引。

本函数的参数结构有些不同寻常,但是非常灵活。

第一个参数必须是一个数组。接下来的每个参数可以是数组或者是下面列出的排序标志。

排序顺序标志:

?SORT_ASC - 按照上升顺序排序

?SORT_DESC - 按照下降顺序排序

排序类型标志:

?SORT_REGULAR - 将项目按照通常方法比较

?SORT_NUMERIC - 将项目按照数值比较

?SORT_STRING - 将项目按照字符串比较 每个数组之后不能指定两个同类的排序标志。

每个数组后指定的排序标志仅对该数组有效 - 在此之前为默认值 SORT_ASC 和 SORT_REGULAR。

uasort 排序学习案例:

/* 多维数组排序 */
$arr_more = array(
         array(1,'age'=> 12,'name' => 'wzq'),
         array(2,'age'=> 42,'name' => 'eee'),
         array(9,'age'=> 82,'name' => '22'),
         array(4,'age'=> 162,'name' => 'ff'),
         array(6,'age'=> 2,'name' => 'jj'),
         array(17,'age'=> 52,'name' => 'nn')
);
uasort($arr_more,function($x,$y){
     //age从大到小 
     return $x['age'] < $y['age'];
});
var_dump($arr_more);

php json数组排序_PHP数组排序_php 数组字典排序函数

以上本文就是这些,知识点摘自 php学习手册。抛砖引玉,希望对大家有所帮助!

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!