PHP数组排序函数:sort()
PHP中的sort()函数是用于对数组进行升序排序的函数。该函数会重置数组的指针。sort()函数可以用于数字和字母字符串,但它不能直接用于来自数据库或计算机的日期或其他复杂的数据类型。
sort()函数的语法为:sort(array, sort_flags)
array:必需,要排序的数组;
sort_flags:可选,规定排序的方式,可以是以下值之一:
SORT_NUMERIC:按照数字大小排序;
SORT_STRING:按照字母顺序排序;
SORT_LOCALE_STRING:按照本地化的字符串排序;
SORT_NATURAL:按自然排序法排序,就是按照字符串中的数字顺序排序,比如a1,a2,a3...a10,a11,a12;
SORT_FLAG_CASE:可以与 SORT_STRING 或 SORT_NATURAL 同时使用,不区分大小写排序。
sort()函数的使用非常灵活。以下是一些常见的用例:
1. 数字数组排序
$arr = array(3, 2, 8, 5);
sort($arr);
print_r($arr);
结果输出为:Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 8 )
2. 字符串数组排序
$arr = array("apple", "orange", "banana", "peach");
sort($arr);
print_r($arr);
结果输出为:Array ( [0] => apple [1] => banana [2] => orange [3] => peach )
3. 按值排序
$arr = array("a" => 4, "b" => 2, "c" => 8, "d" => 5);
sort($arr);
print_r($arr);
结果输出为:Array ( [0] => 2 [1] => 4 [2] => 5 [3] => 8 )
4. 按键排序
$arr = array("a" => 4, "b" => 2, "c" => 8, "d" => 5);
ksort($arr);
print_r($arr);
结果输出为:Array ( [a] => 4 [b] => 2 [c] => 8 [d] => 5 )
5. 对多维数组进行排序
$arr = array(
array("name" => "Tom", "age" => 25),
array("name" => "John", "age" => 35),
array("name" => "Mary", "age" => 20)
);
function cmp($a, $b) {
return strcmp($a["name"], $b["name"]);
}
usort($arr, "cmp");
print_r($arr);
结果输出为:Array ( [0] => Array ( [name] => John [age] => 35 ) [1] => Array ( [name] => Mary [age] => 20 ) [2] => Array ( [name] => Tom [age] => 25 ) )
sort()函数在处理数组时非常快速和高效。除此之外,它还支持多种排序方式和自定义排序函数,使得它在不同的场景下都能够得到良好的应用。
