sort:本函數爲 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不只是從新排序。
rsort:本函數對數組進行逆向排序(最高到最低)。 刪除原有的鍵名而不只是從新排序。
asort:對數組進行排序並保持索引關係
arsort:對數組進行逆向排序並保持索引關係
ksort:對數組按照鍵名排序,保留鍵名到數據的關聯
krsort:對數組按照鍵名逆向排序,保留鍵名到數據的關聯
natsort:對字母數字字符串進行排序並保持原有鍵/值的關聯
natcasesort:同natsort排序算法,但不區分大小寫字母排序
PHP 數組排序(sort)
數字索引數組排序:
函數:sort(array, [sort type])
說明:sort()函數按升序對指定數組(第一個參數)進行排序。
sort函數第二參數做用爲指定排序類型,是可選參數,可能的值爲:
SORT_REGULAR: 默認值,不改變類型進行排序;
SORT_NUMERIC: 把值做爲數字進行排序;
SORT_STRING: 把值做爲字符串進行排序;
如數組中有4和」37″,按數字排序,4小於」37″;按字符串排序,4大於」37″;
php
輸出結果:
-5 0 3 4 37 100
-5 0 100 3 37 4
降序排序:rsort(array, [sort type])
參數用法與sort函數相同。
關聯數組排序:
函數:asort(array, [sort type])
說明:根據關聯數組的元素值進行升序排序。參數使用見上面的sort函數。
函數:ksort(array, [sort type])
說明:根據關聯數組的關鍵字進行升序排序。參數使用見上面的sort函數。
算法
輸出結果:
value sort
good : bad
boy : girl
right : wrong
key sort
boy : girl
good : bad
right : wrong
降序排序:
arsort(array, [sort type]) 與 asort對應
krsort(array, [sort type]) 與 ksort對應
快速建立數組的函數range()
好比range()函數能夠快速建立從1到9的數字數組: 數組
固然,使用range(9,1)則建立了9到1的數字數組。同時,range()還能夠建立從a到z 的字符數組: 函數
使用字符數組時注意大小寫,好比range(A,z)和range(a,Z)是不同的。range()函數還具備第三個參數,該參數的做用是設定步長,好比range(1,9,3)建立的數組元素是:一、四、7。常見PHP數組排序通常數組中的各元素均以字符或數字表現的,因此可對數組元素進行升序排列,該功能函數爲sort()。好比: spa
升序排序後的數組元素顯示爲 birth name nation sex,固然,sort()函數是區分字母大小寫的(字母從大到小的順序是:A…Z…a…z)
Sort()函數還具備第二參數,用來講明PHP數組排序升序的規則是用來比較數字仍是字符串的。好比: code
SORT_NUMERIC和SORT_STRING用來聲明按數字或字符的升序排列。若是按照數字升序排列是:3,26;但若是按照字符升序排列則是:26,3了。PHP中除了升序函數之外,還有降序或稱反向排列的函數,就是rsort()函數,好比:$num1=range(1,9);rsort($num1);這裏其實就至關於range(9,1)。排序