程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 快速掌握PHP多維數組排序方法

快速掌握PHP多維數組排序方法

編輯:關於PHP編程

我們在學習PHP時候,我們可能為PHP的多維數組排序的問題感到困惑,文章這裡就詳細的給大家介紹一下PHP多維數組排序的原理。PHP也允許在多維數組上執行一些比較復雜的排序——例如,首先對一個嵌套數組使用一個普通的關鍵字進行排序,然後再根據另一個關鍵字進行排序。這與使用SQL的ORDER BY語句對多個字段進行排序非常相似。為了能更好的明白它是如何工作的,請仔細看所舉的例子:

  1. <?php $data = array(array("id" => 1, "name" => "Boney M", "rating" => 3),  
  2. array("id" => 2, "name" => "Take That", "rating" => 1),  
  3. array("id" => 3, "name" => "The Killers", "rating" => 4),  
  4. array("id" => 4, "name" => "Lusain", "rating" => 3),  
  5. ); foreach ($data as $key => $value) {  
  6. $name[$key] = $value['name'];  
  7. $rating[$key] = $value['rating'];  
  8. }  
  9.  
  10. array_multisort($rating, $name, $data); print_r($data);?> 

array_multisort()函數是PHP中最有用的函數之一,它有非常廣泛的應用范圍。另外,就如你在例子中所看到的,它能對多個不相關的數組進行排序,也可以使用其中的一個元素作為下次排序的基礎,還可以對數據庫結果集進行排序。這些例子應該讓你對PHP多維數組排序函數的使用有了初步的了解,也向你展示了一些隱藏在PHP數組處理工具包的內部功能。這裡,我們在$data數組中模擬了一個行和列數組。然後,我使用array_multisort()函數對數據集合進行重排,首先是根據rating進行排序,然後,如果rating相等的話,再根據name排序。它的輸出結果如下:

  1. Array ([0] => Array  
  2. (  
  3. [id] => 2  
  4. [name] => Take That  
  5. [rating] => 1  
  6. ) [1] => Array  
  7. (  
  8. [id] => 1  
  9. [name] => Boney M  
  10. [rating] => 3  
  11. )  
  12. [2] => Array  
  13. (  
  14. [id] => 4  
  15. [name] => Lusain  
  16. [rating] => 3  
  17. )  
  18. [3] => Array  
  19. (  
  20. [id] => 3  
  21. [name] => The Killers  
  22. [rating] => 4  
  23. )  
  24. )  

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