PHParray_multisort的分类和实例代码阵列

的array_multisort()函数在PHP可以用来一次多个数组排序,或基于某一维或多维多维数组排序。这篇文章解释了如何使用array_multisort功能。

的array_multisort()函数返回一个数组,你可以输入一个或多个阵列。函数的第一类第一阵列,随后其他数组,如果两个或两个以上的值相同,它将下一个数组排序。

注意:字符串键的名称将被保留,但一些关键的名字将被重新索引,从0开始增加1。

注意:您可以在每个数组之后设置排序顺序和排序类型参数。如果不设置,则默认值用于每个数组参数。

语法

array_multisort(array1,排序,排序的类型,array2,array3…)

参数描述





参数
描述


2
这是必要的。


排序顺序


可选。规定排列顺序。可能的值:

sort_asc违约。安排的顺序(A-Z)。
降序sort_desc -(Z-A)。




排序的类型


可选。指定排序类型。可能的值:

sort_regular违约。在一个固定的顺序安排每个项目(标准ASCII码,不改变型)。
sort_numeric处理每个项目作为一个数。
sort_string处理每个项目作为一个字符串。
sort_locale_string -每个项目作为一个字符串处理,基于当前的区域设置(可以改变通过setlocale())。
sort_natural处理每个项目作为一个字符串,使用自然排序,类似于natsort()。
sort_flag_case -您可以排序的字符串(按位或)或sort_string或sort_natural,不区分情况的案例。




array2
可选。指定数组。


array3
可选。指定数组。





返回值

成功时返回true,失败时返回true。

解释

的array_multisort()函数种类多或多维数组。

参数中的数组被视为表的列并按行排序——这类似于SQL的BY子句的函数。第一个数组是要排序的主数组。数组中的行(值)是相同的,它们按照下一个输入数组中相应值的大小进行排序,等等。

第一个参数是数组,每个后续参数可能是一个数组,或者它可能是以下排序顺序标记之一(排序标志用于更改默认顺序)。

sort_asc违约,升序排列。(A-Z)

降序排列sort_desc -(Z-A)。



然后,您可以指定排序的类型:

sort_regular违约。在一个固定的顺序安排每个项目。

sort_numeric安排每个项目在数字顺序。

sort_string安排每个项目按字母顺序排列的。



例1:

多维数组排序


< PHP
$ =数组(
数组(10
数组(1,2,2
);
array_multisort($ AR { 0 },sort_asc美元,sort_string,AR { 1 },sort_numeric,sort_desc);
var_dump($ AR);
>



在这个例子中,在排序之后,第一个数组将变成 10 第二个数组将包含1, 3,2



运行结果:


数组(2){
{ 0个数组(5){
{ 0(= 2)10
{ 1 } = int(100)
{ 2 } = int(100)
{ 3 } = int(11)
{ 4 } > String(1)
}
{ 1个数组(5){
{ 0 } = int(1)
{ 1 } = int(3)
{ 2(= 1)2
{ 3 } = int(2)
{ 4 } = int(1)
}
}





例二:

乱格字母顺序



两sort_string和sort_regular小,小写字母和大写字母,小写字母,将放置在。

要执行不区分大小写的排序,您需要在小写字母的原始数组中进行排序。


< PHP
$array =阵列('alpha ','atomic,Β,银行);
array_lowercase美元= array_map('strtolower,数组);
array_multisort(array_lowercase美元,sort_asc,sort_string,数组);
print_r(数组);
>



运行结果:


阵列

{ 0 } =α
{ 1 }原子
{ 2 } =银行
{ 3 }





谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。