對陣列進行排序

對陣列進行排序

PHP 有一些用來排序陣列的函式, 這個文件會把它們列出來。

主要區別有:

  • 有些函式基於 array 的鍵來排序, 而其他的基於值來排序的:$array['key'] = 'value';
  • 排序之後鍵和值之間的關聯關係是否能夠保持, 是指排序之後陣列的鍵可能 會被重置為數字型的(0,1,2 ...)。
  • 排序的順序有:字母表順序, 升序(由低到高), 降序(由高到低),數字排序,自然排序,隨機順序或者使用者自定義排序。
  • 注意:下列的所有排序函式都是直接作用於陣列本身, 而不是返回一個新的有序的陣列。
  • 以下函式對於陣列中相等的元素,會保留原有的排序。 在 PHP 8.0.0 之前,它們排序后的順序是未定義的(也即相等元素之間的順序是不穩定的)。

排序函式屬性
函式名稱 排序依據 陣列索引鍵保持 排序的順序 相關函式
array_multisort() string 鍵保持不變,int 鍵重新索引 第一個陣列或者由選項指定 array_walk()
asort() 升序 arsort()
arsort() 降序 asort()
krsort() 降序 ksort()
ksort() 升序 krsort()
natcasesort() 自然排序,大小寫不敏感 natsort()
natsort() 自然排序 natcasesort()
rsort() 降序 sort()
shuffle() 隨機 array_rand()
sort() 升序 rsort()
uasort() 由使用者定義 uksort()
uksort() 由使用者定義 uasort()
usort() 由使用者定義 uasort()

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *