探討如何?PHP數組排序_PHP教程

來源:互聯網
上載者:User
在在瞭解了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)設定來把單元當作字串比較

還是看個例子,來自協助手冊:

 
  1. php
  2. $fruits = array("lemon", "orange", "banana", "apple");
  3. sort($fruits);
  4. foreach ($fruits as $key => $val) {
  5. echo "fruits[".$key."] = " . $val . "n";
  6. }
  7. ?>

這個PHP數組排序的結果如下:

 
  1. fruits[0] = apple
  2. fruits[1] = banana
  3. fruits[2] = lemon
  4. fruits[3] = orange

大家可以發現,原來是索引為0的lemon,再排序後就變成了apple。為了保持原來的鍵/值不變,你可以把sort()換成asort()即可。另外這兩個函數是對鍵進行升序的排列(a在b的前面)。如果要使其進行降序,只要使用rsort()代替即可,相對應的arsort()是保持原來的鍵/值的相關聯性的。

下面簡要介紹下ksort()函數

這個函數主要是用來對關聯陣列進行而存在,它的“姐妹”函數uksort()是使用自訂函數而進行比較的。一句話:ksort()對於關聯級數,對鍵進行排序並保留鍵名到資料的關聯。數組的自然排序,到目前為止我們所知道的排序函數要麼是用預設的方式,要麼按照自訂的方式進行排序。那麼natsort()則使用一種人性化的排序方式來對數組進行排序。在此就不說了,執行個體可以查看手冊,如果你手頭上沒有PHP協助手冊,你可以在瀏覽本站線上協助手冊進行查看

 
  1. shuffle()//函數的使用
  2. Shuffle()//用來對一個數組進行隨機排序,這個有點像抽籤,其他的就不多說了。到用的時候再看吧。
  3. array_rand()//函數的使用
  4. array_rand()//函數和shuffle()差不多,也是隨機返回數組中的元素,如下調用:
  5. array_rand ( array [, int num_req] ) //選擇性參數指出你要返回的個數。

PHP數組排序的方式就介紹到這,希望對大家有所協助。


http://www.bkjia.com/PHPjc/446239.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446239.htmlTechArticle在 在瞭解了usort自訂排序後,我們再來看看sort(),這個函數可謂是數組裡的排序函數的鼻祖,大家肯定發現所有的PHP數組排序函數都會...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.