PHP:数组排序函数 sort 对数组升序排序

最近更新时间 2020-01-12 10:32:05

sort 函数对数组进行按值由低到高(升序)排序。

功能跟 asort 函数类似,最大的区别在于,asort 函数会保留索引关系,而 sort 函数会重新生成索引关系,详见范例。

说明

sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
array
输入的数组。
sort_flags
可选的参数 sort_flags 改变排序的行为。
  • SORT_REGULAR - 正常比较单元(不改变类型)。
  • SORT_NUMERIC - 单元被作为数字来比较。
  • SORT_STRING - 单元被作为字符串来比较。
  • SORT_LOCALE_STRING - 。
  • SORT_NATURAL - 。
  • SORT_FLAG_CASE - 。

范例

<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);

print_r($fruits);
Array
(
    [0] => apple
    [1] => banana
    [2] => lemon
    [3] => orange
)

与 asort 函数比较

<?php
$fruits = array("lemon", "orange", "banana", "apple");
asort($fruits);

print_r($fruits);
Array
(
    [3] => apple
    [2] => banana
    [0] => lemon
    [1] => orange
)

输出结果显示,sort 函数排序后数组的索引发生变化,而 asort 函数保持原索引关系。所以如果使用 asort 函数排序后通过数组索引取第一个元素不一定是期望的值。

rss_feed