對陣列進行排序

對陣列進行排序

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()

Leave a Reply

Your email address will not be published. Required fields are marked *