PHP還是比較常用的,於是我研究了一下PHP數組排序,在這裡拿出來和大家分享一下,希望對大家有用。在了解了usort自定義排序後,我們再來看看sort(),這個函數可謂是數組裡的排序函數的鼻祖,大家肯定發現所有的PHP數組排序函數都會帶有sort作為後綴。函數原型:bool sort ( array &array [, int sort_flags] )說明:基本上每個函數都會有個可選的參數,sort也不例外。這個可選參數指明的一種習慣。
可選類型有如下幾種:
◆SORT_REGULAR – 正常比較單元(不改變類型) //按照ASCII值排序(B大於a)
◆SORT_NUMERIC – 單元被作為數字來比較 //對整數和浮點數常用這種參數
◆SORT_STRING – 單元被作為字符串來比較
◆SORT_LOCALE_STRING – 根據當前的區域(locale)設置來把單元當作字符串比較
還是看個例子,來自幫助手冊:
- $fruits = array("lemon", "orange", "banana", "apple");
- sort($fruits);
- foreach ($fruits as $key => $val) {
- echo "fruits[".$key."] = " . $val . "n";
- }
- ?>
這個PHP數組排序的結果如下:
- fruits[0] = apple
- fruits[1] = banana
- fruits[2] = lemon
- fruits[3] = orange
大家可以發現,原來是索引為0的lemon,再排序後就變成了apple。為了保持原來的鍵/值不變,你可以把sort()換成asort()即可。另外這兩個函數是對鍵進行升序的排列(a在b的前面)。如果要使其進行降序,只要使用rsort()代替即可,相對應的arsort()是保持原來的鍵/值的相關聯性的。
下面簡要介紹下ksort()函數
- shuffle()//函數的使用
- Shuffle()//用來對一個數組進行隨機排序,這個有點像抽簽,其他的就不多說了。到用的時候再看吧。
- array_rand()//函數的使用
- array_rand()//函數和shuffle()差不多,也是隨機返回數組中的元素,如下調用:
- array_rand ( array [, int num_req] ) //可選參數指出你要返回的個數。
到此我想數組的排序我們已經有所了解了,如果還有什麼"遺撼"以後再來彌補吧。