1、sort() 函数
sort() 函数可以将数组进行升序排序(从小到大,由低到高),语法格式如下:
sort($array [, $sort_flags = SORT_REGULAR])
参数说明如下:
$array:为要排序的数组。
$sort_flags:为可选参数,默认为“SORT_REGULAR”,用来定义函数排序的模式。$sort_flags 可以设置为下面这些值:
0 或 SORT_REGULAR:正常比较数组元素,不改变其类型(默认值);
1 或 SORT_NUMERIC:将数组元素当作数字来比较;
2 或 SORT_STRING:将数组元素当作字符串来比较
3 或 SORT_LOCALE_STRING:根据当前的区域(locale)设置来把数组元素当作字符串比较,可以用 setlocale() 来改变。
4 或 SORT_NATURAL:和 natsort() 类似对每个数组元素以“自然的顺序”对字符串进行排序,是 PHP5.4.0 中新增的。
5 或 SORT_FLAG_CASE:能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。
提示:sort() 函数会删除 $array 中原有的键名并为其赋与新的键名,而不是仅仅将数组元素重新排序。函数执行成功时会返回 TRUE,失败时会返回 FALSE。
【示例】使用 sort() 函数对数组进行排序。
<?php
$num = array(10, 23, 5, 12, 84, 16);
echo '<pre>';
sort($num);
print_r($num);
$language = array(
'a' =>'',
'b' =>'PHP',
'c' =>'Java',
'd' =>'Golang',
'e' =>'Python'
);
sort($language, SORT_FLAG_CASE);
print_r($language);
?>
运行结果如下:
Array ( [0] => 5 [1] => 10 [2] => 12 [3] => 16 [4] => 23 [5] => 84 ) Array ( [0] => Golang [1] => Java [2] => PHP [3] => Python [4] => )
需要注意的是,在对混合类型的数组进行排序时需要特别小心,sort() 函数很可能会返回一个不可预知的结果。
2、rsort() 函数
rsort() 函数同样可以对数组进行升序排序(从小到大,由低到高),但它不会修改原数组中的键名。可以将 rsort() 函数看作是 sort() 函数的增强版。 rsort() 函数主要用于那些特别重视值和索引之间关系的数组,其语法格式如下:
asort($array [, $sort_flags = SORT_REGULAR])
参数说明如下:
$array:为要排序的数组。
$sort_flags:为可选参数,用来定义函数排序的模式,默认值为“SORT_REGULAR”。$sort_flags 的取值与 sort() 函数中的 $sort_flags 参数相同。