測試環境: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 中新增的。
以鍵值升序排序。(注意。會刪掉鍵名然後建立數字索引。需要保留鍵名可以用asort函數)
(值一樣的元素,實際在排序函數中也交換了位置,由於值一樣所以看不出來但還是交換了的。)
以鍵值降序排序。(注意。同上也會刪掉鍵名,需要保留鍵名可以用arsort函數)
自定函數以鍵值排序。(注意。同上鍵名也沒了,需要保留鍵名可以用uasort函數)
cmp_function($a, $b)的兩個參數是鍵值。返回正數,將參數1放後面;0不變;負數,將參數2放後面。
和sort一樣,除了保留鍵名關聯。
和rsort一樣,除了保留鍵名關聯。
和usort一樣。除了保留鍵名的關聯。
以鍵名升序排序。
以鍵名降序排序。
$cmp_function($a, $b)的兩個參數是鍵名。返回處理和usort一樣。
"natural(自然)排序" 按數值升序。
1.如升序時 2在13前。
2.大小寫敏感,如元素 'img1' 'img2' 'Img3' 會排序成 Img3 img1 img2
natsort($arr)忽略大小寫的版本。
關聯(字符串)鍵名不變,數字索引會重新產生。
將$arr2~n的數組的元素,按照$arr1中的移動順序,作出同樣的移動。
如$arr1 = array(2, 3, 1);
變成了 array(1, 2, 3);
$arr2~n也會把 下標0放到下標1上;下標1元素 放到下標2上;下標2的放到下標0上;