一、什么是sort()函数
sort()函数是PHP中一种非常常用的数组排序函数,它可以对数组进行升序排序。sort()函数可以用于任何数组类型(数字、字符串等),但是在排序之前需要注意数组的键和值的对应关系,避免出现排序后键和值不对应的情况。
sort()函数提供了两种排序方式:升序和降序。升序排列是将值按从小到大的顺序排列,降序排列是将值按从大到小的顺序排列。
二、sort()函数的语法和使用方法
sort()函数的语法如下:
sort(array,sorttype);
其中,array参数表示需要排序的数组,sorttype参数是可选参数,表示排序类型,可以是以下三种类型之一:
- SORT_REGULAR:按照普通的比较排序
- SORT_NUMERIC:按照数值比较排序
- SORT_STRING:按照字符串比较排序
sort()函数使用方法:
$arr = array(5, 3, 1, 4, 2); sort($arr);
上述代码将数组$arr按照默认的升序排列。
三、sort()函数的应用
1、对数字数组进行排序
下面是一个对数字数组进行排序的示例:
$arr = array(5, 3, 1, 4, 2); sort($arr);//升序排列 print_r($arr);
结果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
在上面的例子中,由于没有指定排序类型,所以按照默认的SORT_REGULAR进行排序。
2、对字符串数组进行排序
下面是一个对字符串数组进行排序的示例:
$arr = array("lemon", "orange", "banana", "apple"); sort($arr);//升序排列 print_r($arr);
结果:
Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )
在上面的例子中,按照字符串比较方式进行了排序。
3、对关联数组进行排序
下面是一个对关联数组进行排序的示例:
$arr = array( array("name"=>"Tom", "age"=>20), array("name"=>"John", "age"=>25), array("name"=>"Mary", "age"=>18) ); array_multisort(array_column($arr,"name"),SORT_ASC,$arr); print_r($arr);
结果:
Array ( [0] => Array ( [name] => John [age] => 25 ) [1] => Array ( [name] => Mary [age] => 18 ) [2] => Array ( [name] => Tom [age] => 20 ) )
使用array_multisort()函数可以对关联数组进行排序,本例中按照名字首字母升序排序。
四、sort()函数的注意事项
在使用sort()函数进行升序排列时,需要注意以下几点:
- sort()函数会改变原始数组的键值关系,使用之前需要备份原始数组;
- sort()函数只会按照值进行排序,对于键值对应关系需要自己在程序中处理;
- 如果使用sort()函数对关联数组进行排序,需要使用array_multisort()函数,并在第一个参数中指定需要排序的键值。