程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中的常用數組函數(八) 排序函數匯總(sort、rsort、usort、asort、uasort、arsort、ksort、uksort、krsort、natsort、natcasesort、array_multisort),natcasesort

php中的常用數組函數(八) 排序函數匯總(sort、rsort、usort、asort、uasort、arsort、ksort、uksort、krsort、natsort、natcasesort、array_multisort),natcasesort

編輯:關於PHP編程

php中的常用數組函數(八) 排序函數匯總(sort、rsort、usort、asort、uasort、arsort、ksort、uksort、krsort、natsort、natcasesort、array_multisort),natcasesort


測試環境: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上;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved