程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何運用PHP函數usort()實現自定義排序

如何運用PHP函數usort()實現自定義排序

編輯:關於PHP編程

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

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

  1. <?php 
  2. $data = array("[email protected]", "[email protected]",
    "[email protected]", "[email protected]");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] => [email protected]

[1] => [email protected]

[2] => [email protected]

[3] => [email protected]

)

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


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