数码资讯
PHP使用array_multisort排序多个数组或多维数组
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在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开发者我们提供一个更好的办法,我们可以节省不必要的麻烦。
关联(字符串)键保持不变,但数字键将重新索引。
输入数组作为表的列和排序的行-这是类似的功能,通过条款的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开发者我们提供一个更好的办法,我们可以节省不必要的麻烦。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。