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