数组排序

PHP中内置了PHP数组的排列函数

  • sort() 对数组进行升序排列
  • rsort() 对数组进行降序排列
  • asort() 根据关联数组的值,对数组进行升序排列
  • ksort() 根据关联数组的键,对数组进行升序排列
  • arsort() 根据关联数组的值,对数组进行降序排列
  • krsort() 根据关联数组的键,对数组进行降序排列

sort()

1
2
3
4
<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
print_r($cars);

运行结果为

1
2
3
4
5
6
Array
(
[0] => BMW
[1] => Toyota
[2] => Volvo
)

数字也同样类似

1
2
3
4
<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
print_r($numbers);

运行结果为
1
2
3
4
5
6
7
8
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 11
[4] => 22
)

rsort()

rsort就与sort()相反,降序排列,r的意思就是reverse,不过多举例

asort()

a就是associative,关联的意思,默认关联值

1
2
3
4
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
print_r($age);

运行结果
1
2
3
4
5
6
Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)

arsort()

与asort()相反

1
2
3
4
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);
print_r($age);

运行结果
1
2
3
4
5
6
Array
(
[Joe] => 43
[Ben] => 37
[Peter] => 35
)

ksort()

k其实就是key,就是键值对里的键

1
2
3
4
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
print_r($age);

运行结果
1
2
3
4
5
6
Array
(
[Ben] => 37
[Joe] => 43
[Peter] => 35
)

这次比较的其实就是键,也就是=>前的内容

按字母大小顺序排列

krsort()

1
2
3
4
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
print_r($age);

运行结果

1
2
3
4
5
6
Array
(
[Peter] => 35
[Joe] => 43
[Ben] => 37
)

参考前面,不过多介绍

总结

1.PHP内置的数组排列函数适用于所有合法的数组

2.r就是reversere,相反的意思,看到PHP函数中开头有r,基本可以确定是以原函数相反的返回结果

3.键值对是常见的存储方式,格式是KEY=>DATA,不能颠倒,KEY与DATA的命名只要符合命名规则,可以随意命名