在PHP中,array_multisort可以一次多数组排序,或基于某一维或多维多维数组排序。

关联(字符串)键保持不变,但数字键将重新索引。

输入数组作为表的列和排序的行-这是类似的功能,通过条款的SQL。第一个数组是排序的主要数组,数组中的行(值)按相应的值的大小在下一个输入数组,和所以,如果行(值)是相同的。这句话是理解这个函数的用法的关键。

第一个参数必须是一个数组,下一个参数可以是下面列出的数组或排序符号。

排序命令标志:

为了提高- sort_asc

- sort_desc -按照顺序递减

排序类型标志:

- sort_regular项目根据比较的常用方法

- sort_numeric与数值比较一致的项目

- sort_string与字符串比较的项目按照

两个类似症状不能在每个数组中指定。指定的排序标志后每个阵列的有效期仅为数组的默认值sort_asc和sort_regular之前。

看两个实际例子:

1。一次对多个数组进行排序。

复制代码代码如下所示:

$ num1 =数组(3, 5, 4,3);

$ num2 =数组(27, 50, 44,78);

array_multisort($ num1,num2美元,sort_asc,sort_desc);



print_r($ num1);

print_r($ num2);

结果:数组({ 0 } = 3 { 1 } > 3 { 2 } > 4 { 3 } = 5)数组({ 0 } = 78 { 1 } = 27 { 2 } } = 44 { 3 } = 50)



2。排序多维数组(以两位数组为例):

复制代码代码如下所示:

$ ARR =阵列(

(0= >阵列

num1= > 3,

num2= > 27

),

(1= >阵列

num1= > 5,

num2= > 50

),

(2= >阵列

num1= > 4,

num2= > 44

),

(3= >阵列

num1= > 3,

num2= > 78



);

foreach(ARR美元美元美元关键=行){

{ } = num1美元美元美元关键行{ 'num1};

{ } = num2美元美元美元关键行{ 'num2};

}

array_multisort($ num1,num2 sort_asc,美元,美元sort_desc,ARR);

print_r($ ARR);

/ /结果:阵列({ 0 } = >阵列({ } = { num2 num1 > 3 } = > 78){ 1 } = >阵列({ } = { num2 num1 > 3 } = > 27){ 2 } = >阵列({ num1 } = { num2 } > 4 = > 44){ 3 } = >阵列({ num1 } = > 5))





总结:

这里的关键是,第一个排序关键字为一个一维数组,然后你可以使用array_multisort()函数,数组根据关键点,当然,在这里你可以不适用(array_multisort)这一功能,不仅可以达到这种效果只有通过foreach遍历,但自从PHP开发者我们提供一个更好的办法,我们可以节省不必要的麻烦。