PHP数组排序
通过数组排序我们可以实现数组中的元素按照字母或者数字的顺序来进行升序或者降序排列。在PHP中,一共有6中与排序相关的函数,它们分别为:sort()、rsort()、asort()、ksort()、arsort()、krsort()。(一下实例代码均转自runoob.com)
sort()函数:升序排列
所谓升序,就是从小到大。该函数使用方法也非常简单。数字和字符串都是可以排序的。示例如下
<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
?>
输出结果为:BMW Toyota Volvo。注:真正输出的时候没有空格。
rsort()函数:降序排列
降序排列就是从大到小排列,函数示例如下
<?php
$numbers=array(4,6,2,22,11);
rsort($numbers);
?>
输出结果为22 11 6 4 2。注:真正输出的时候没有空格。
asort()函数:根据数组的值进行的升序排列
这种排序方式大概只适用于关联数组。函数会根据数组的值来对数组进行升序排列。示例如下
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
?>
此时函数不会去看数组的键名,而只会对值来进行排序。如果使用print_r()来查看输出结果的话,应该如下:
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
ksort()函数:根据数组的键进行的升序排列
函数会根据数组的键名来进行升序排列,示例如下:
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
?>
此时函数不会去看数组的值的大小,而只会根据键名的大小(数值大小或者ASCII码大小)来进行排列。若使用print_r()函数来查看输出结果的话,如下所示:
Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )
剩下两个降序排列,原理类似,在此处不多赘述。注:上述6种排序函数都不具有输出的功能。
关于print_r()函数和var_dump()函数
print_r()函数用来打印变量,使其以一种更容易理解的形式表现。而var_dump()函数只是表现了变量的数据类型,并不能直观的体现变量之间的关系,例如二维数组。