PHP数组重排序方法
1。 sort() 函数
sort()函数是PHP中最常用的数组排序函数,它可以对数组进行升序排序。 sort() 函数按值排序,而不是按键排序。
$arr = array('a'=>4,'b'=>2,'c'=>8,'d'=>6);
sort($arr);
print_r($arr);
结果:数组 ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
在上面的例子中,我们将数组按升序排序并打印出来。正如你所看到的,数组是从小到大排序的。
2。 rsort() 函数
rsort() 函数与 sort() 函数相反,可以按降序对数组进行排序。与 sort() 函数一样,rsort() 函数按值排序,而不是按键排序。
$arr = array('a'=>4,'b'=>2,'c'=>8,'d'=>6);
rsort($arr);
print_r($arr);
结果:数组 ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )
在上面的例子中,我们将数组按降序排序并打印出来。正如你所看到的,数组是从最大到最小排序的。
3。 assort() 函数
与 sort() 函数不同,asort() 函数可以按键名或键值对数组元素进行排序。对于常规数组,键名和键值是相同的。使用asort()函数后,数组按键值排序。键名和键值与原数组一一对应,对应关系没有改变。
$arr = array('a'=>4,'b'=>2,'c'=>8,'d'=>6);
asort($arr);
print_r($arr);
结果:数组 ( [b] => 2 [a] => 4 [d] => 6 [c] => 8 )
在上面的例子中,我们将数组按键值升序排序并打印出来。正如你所看到的,数组是从小到大排序的。
4。 Arsort() 函数
与 asort() 函数相反,arsort() 函数按键值降序排序。
$arr = array('a'=>4,'b'=>2,'c'=>8,'d'=>6);
arsort($arr);
print_r($arr);
结果:数组 ( [c] => 8 [d] => 6 [a] => 4 [b] => 2 )
在上面的例子中,我们将数组按键值降序排序并打印出来。正如你所看到的,数组是从最大到最小排序的。
5。 ksort() 函数
ksort() 函数可以按键名称对数组进行排序。与 asort() 函数一样,ksort() 函数不会更改键名对应的值。
$arr = array('b'=>2,'d'=>6,'a'=>4,'c'=>8);
ksort($arr);
print_r($arr);
结果:数组 ( [a] => 4 [b] => 2 [c] => 8 [d] => 6 )
在前面的示例中,我们按键名称升序对数组进行排序并打印出来。正如你所看到的,数组是从a到d排序的。
6。 krsort() 函数
与 ksort() 函数不同,krsort() 函数可以按键名降序排序。
$arr = array('b'=>2,'d'=>6,'a'=>4,'c'=>8);
krsort($arr);
print_r($arr);
结果:数组 ( [d] => 6 [c] => 8 [b] => 2 [a] => 4 )
在前面的示例中,我们按键名降序对数组进行排序并打印出来。如您所见,数组从 d 到 a 排序。
7。自定义排序方法
除了上述函数之外,PHP还提供了usort()和uasort()函数来自定义数组的排序方法。 usort() 函数可用于按自定义排序方法排序,而 uasort() 函数可用于按自定义方法排序,同时保留原始键值对。
$arr = array('apple','orange','banana','pear');
usort($arr, function($a,$b){
if($a==$b) return 0;
return ($a4,'b'=>2,'c'=>8,'d'=>6);
uasort($arr,function($a,$b){
if($a==$b) return 0;
return ($a 苹果 [1] => 香蕉 [2] => 橙子 [3] => 梨 )
结果 2:数组 ( [b] => 2 [a] => 4 [d] => 6 [c] => 8 )
在第一个示例中,我们定义了一个按长度对元素进行排序的函数,并使用 usort() 函数对数组进行排序。在第二个示例中,我们按升序对数组进行排序并存储键值对。如您所见,可以使用自定义排序方法方便地对数组进行排序。
8。总结
PHP提供了多种数组排序方法,可以根据具体需要选择使用。
-
函数
- sort() 可以按值升序排序。 函数
- rsort()可以对值进行降序排序。 函数
- assort()可以按键值升序排序。
- arsort() 函数可以按降序对键进行排序。 函数
- ksort()可以按键名升序排序。 函数
- krsort()可以按键名降序排序。 函数
- usort() 和 uasort() 可以使用自定义排序方法进行排序。
上面的排序方法可以让我们更好的对数组进行排序。您可以根据自己的实际需要选择合适的排序方式。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网