測試環境:php5.3.29 sort_flags 可以用以下值改變排序的行為: 排序類型標記: SORT_REGULAR - 正常比較單元(不改變類型) SORT_NUMERIC - 單元被作為數字來比較 SORT_STRING - 單元被作為字元串來比較 SORT_LOCALE_STRING - ...
測試環境:php5.3.29
-
sort_flags
可以用以下值改變排序的行為:排序類型標記:
SORT_REGULAR
- 正常比較單元(不改變類型)SORT_NUMERIC
- 單元被作為數字來比較SORT_STRING
- 單元被作為字元串來比較SORT_LOCALE_STRING
- 根據當前的區域(locale)設置來把單元當作字元串比較,可以用 setlocale() 來改變。SORT_NATURAL
- 和 natsort() 類似對每個單元以“自然的順序”對字元串進行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE
- 能夠與SORT_STRING
或SORT_NATURAL
合併(OR 位運算),不區分大小寫排序字元串。PHP 5.4.0 中新增的。
sort($arr[,$sort_flags=SORT_REGULAR]
以鍵值升序排序。(註意。會刪掉鍵名然後建立數字索引。需要保留鍵名可以用asort函數)
(值一樣的元素,實際在排序函數中也交換了位置,由於值一樣所以看不出來但還是交換了的。)
rsort(同上)
以鍵值降序排序。(註意。同上也會刪掉鍵名,需要保留鍵名可以用arsort函數)
usort($arr, $cmp_function)
自定函數以鍵值排序。(註意。同上鍵名也沒了,需要保留鍵名可以用uasort函數)
cmp_function($a, $b)的兩個參數是鍵值。返回正數,將參數1放後面;0不變;負數,將參數2放後面。
asort($arr[,$sort_flags=SORT_REGULAR))
和sort一樣,除了保留鍵名關聯。
arsort(同上)
和rsort一樣,除了保留鍵名關聯。
uasort($arr, $cmp_function)
和usort一樣。除了保留鍵名的關聯。
ksort($arr[,$sort_flags=SORT_REGULAR))
以鍵名升序排序。
krsort(同上)
以鍵名降序排序。
uksort($arr, $cmp_function)
$cmp_function($a, $b)的兩個參數是鍵名。返回處理和usort一樣。
natsort($arr)
"natural(自然)排序" 按數值升序。
1.如升序時 2在13前。
2.大小寫敏感,如元素 'img1' 'img2' 'Img3' 會排序成 Img3 img1 img2
natcasesort($arr)
natsort($arr)忽略大小寫的版本。
array_multisort($arr1[,$arr2...$arrN,$sort_flags=SORT_REGULAR)
關聯(字元串)鍵名不變,數字索引會重新產生。
將$arr2~n的數組的元素,按照$arr1中的移動順序,作出同樣的移動。
如$arr1 = array(2, 3, 1);
變成了 array(1, 2, 3);
$arr2~n也會把 下標0放到下標1上;下標1元素 放到下標2上;下標2的放到下標0上;