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 函數排序後通過數組索引取第一個元素不一定是期望的值。