PHP数组排序之从小到大
PHP是早期最流行的服务器端脚本语言,是当今世界上最受欢迎的开发语言之一。在Web应用开发中,PHP提供了多种数据类型,最常用的是数组,用于存储一系列有序的值。
在使用数组时,我们经常需要对其元素进行排序,使其能更符合我们的需求。下面将介绍PHP数组的排序的几种方法之一--从小到大的排序。
#### 一、sort()
sort()函数通常应用于数字或字符类型的排序,它可以就地把一个数组从小到大排序。它的使用方法是非常简单的,只需要把待排序的数组作为参数传递给sort()函数即可。来看一个例子:
```php
$array=array(2,4,6,10,9,8,5);
sort($array);
print_r($array);
//输出
Array ( [0] => 2 [1] => 4 [2] => 5 [3] => 6 [4] => 8 [5] => 9 [6] => 10 )
```
我们可以看到,原来乱序的数组排序之后,被按照从小到大的顺序排列。
#### 二、usort()
usort() 函数用于按用户自定义函数对数组中的元素(即对象)进行排序。它有两个参数,第一个参数是待排序的数组,第二个参数是一个用户自定义的比较函数。我们可以使用这一函数来实现从小到大的排序。比如:
```php
$array=array(2,4,6,10,9,8,5);
//自定义函数
function sort_rule($a,$b){
if($a==$b) return 0;
return $a<$b ? -1 : 1;
}
//调用函数
usort($array,"sort_rule");
//输出
print_r($array);
//结果
Array ( [0] => 2 [1] => 4 [2] => 5 [3] => 6 [4] => 8 [5] => 9 [6] => 10 )
```
从例子可以看出我们定义的sort_rule()函数有2个参数,当参数值相等时返回0,当参数A小于B时返回-1,反之返回1,最终数组从小到大排序。
#### 三、asort()
asort()函数可用于对关联数组的排序,按照元素的值对数组进行排序。它的使用方法和sort()类似,它也有1个参数,是要排序的数组,也可以按从小到大的顺序对元素进行排序。来看一个例子:
```php
$fruits=array("a"=>"apple","b"=>"orange","c"=>"banana");
asort($fruits);
print_r($fruits);
//输出
Array ( [a] => apple [c] => banana [b] => orange )
```
我们可以看到排序后的数组,以字母a开头的apple拍在了第一位,c开头的banana拍在了第二位,b开头的orange拍在了最后一位。
#### 四、ksort()
ksort()函数可用于对关联数组的排序,它按数组的键(key)对数组进行排序。它的使用方法和前文的sort()一样,也只有1个参数:要排序的数组。来看一个例子:
```php
$fruits=array("a"=>"apple","b"=>"orange","c"=>"banana");
ksort($fruits);
print_r($fruits);
//输出
Array ( [a] => apple [b] => orange [c] => banana )
```
我们可以看到排序后的数组,以字母a开头的apple拍在了第一位,b开头的orange拍在了第二位,c开头的banana拍在了最后一位。
以上就是介绍PHP数组排序——从小到大的几种方法,这几种方法各有特点,开发者在不同情况下需要根据实际需求,根据自身情况合理选择不用的方法,从而实现数组的排序。