PHP中可使用array_multisort()、asort()、arsort()、krsort()、ksort()、natcasesort()、natsort()、rsort()、shuffle()、sort()等函數對數組元素進行排序。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
PHP 有一些用來排序數組的函數:
主要區(qū)別有:
-
有些函數基于 array 的鍵來排序, 而其他的基于值來排序的:$array['key'] = 'value';。
-
排序之后鍵和值之間的關聯(lián)關系是否能夠保持, 是指排序之后數組的鍵可能 會被重置為數字型的(0,1,2 …)。
-
排序的順序有:字母表順序, 由低到高(升序), 由高到低(降序),數字排序,自然排序,隨機順序或者用戶自定義排序。
-
注意:下列的所有排序函數都是直接作用于數組本身, 而不是返回一個新的有序的數組。
-
以下函數對于數組中相等的元素,它們在排序后的順序是未定義的。 (也即相等元素之間的順序是不穩(wěn)定的)。
函數(方法)名稱 | 排序依據 | 數組索引鍵保持 | 排序的順序 |
---|---|---|---|
array_multisort() | 值 | 鍵值關聯(lián)的保持,數字類型的不保持 | 第一個數組或者由選項指定 |
asort() | 值 | 是 | 由低到高 |
arsort() | 值 | 是 | 由高到低 |
krsort() | 鍵 | 是 | 由高到低 |
ksort() | 鍵 | 是 | 由低到高 |
natcasesort() | 值 | 是 | 自然排序,大小寫不敏感 |
natsort() | 值 | 是 | 自然排序 |
rsort() | 值 | 否 | 由高到低 |
shuffle() | 值 | 否 | 隨機 |
sort() | 值 | 否 | 由低到高 |
uasort() | 值 | 是 | 由用戶定義 |
uksort() | 鍵 | 是 | 由用戶定義 |
usort() | 值 | 否 | 由用戶定義 |
推薦學習:《PHP視頻教程》