如何運用PHP函數usort()實現自訂排序_PHP教程

來源:互聯網
上載者:User
在中進行數組排序的方式有許多種,包括按照值排序,按照關鍵字排序,自然語言排序等等。今天我們要教給大家的是運用PHP函數usort()來實現自訂的數組排序。你可以通過建立你自己的比較函數,並把它傳遞給PHP函數usort(),如果第一個參數比第二個參數“小”的話,比較函數必須返回一個比0小的數,如果第一參數比第二個參數“大”的話,比較函數應該返回一個比0大的數。

Listing I就是PHP函數usort()的一個例子,在這個例子中根據它們的長度對數組元素進行排序,最短的項放在最前面:

 
  1. php
  2. $data = array("joe@host.com", "john.doe@gh.co.uk",
    "asmithsonian@us.info", "jay@zoo.tw");usort($data, 'sortByLen');
  3. print_r($data); function sortByLen($a, $b) {
  4. if (strlen($a) == strlen($b)) {
  5. return 0;
  6. } else {
  7. return (strlen($a) > strlen($b)) ? 1 : -1;
  8. }
  9. }
  10. ?>

這樣,就建立了我們自己的比較函數,這個函數使用PHP函數usort()比較每一個字串的個數,然後分別返回1,0或-1.這個傳回值是決定元素排列的基礎。下面是它的輸出結果:

Array ([0] => jay@zoo.tw

[1] => joe@host.com

[2] => john.doe@gh.co.uk

[3] => asmithsonian@us.info

)

希望大家能夠通過這段範例程式碼學到PHP函數usort()的具體使用方式。


http://www.bkjia.com/PHPjc/446347.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446347.htmlTechArticle在中進行數組排序的方式有許多種,包括按照值排序,按照關鍵字排序,自然語言排序等等。今天我們要教給大家的是運用PHP函數usort()來實...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.