程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP多維數組根據其中一個字段的值排序,php多維數組排序

PHP多維數組根據其中一個字段的值排序,php多維數組排序

編輯:關於PHP編程

PHP多維數組根據其中一個字段的值排序,php多維數組排序


平時簡單的一維數組或者簡單的數組排序這裡就不多作介紹,這裡主要是針對平時做項目中的可能遇到的情況,根據多維數組中的其中一個排序。
用到的php函數是:array_multisort.

思路:獲取其中你需要排序的字段,作為一維數組arr1,後邊會用來排序多維數組data.
這裡主要以二維數組為例,多維數組也是同樣的思路。 

$data = array(
array('price' => '500', 'count' => '40', 'level' => '1'),
array('price' => '600', 'count' => '30', 'level' => '2'),
array('price' => '650', 'count' => '20', 'level' => '3'),
array('price' => '700', 'count' => '10', 'level' => '4'),
);

假設以價格來倒敘,我們就需要獲取價格這個字段的值,作為一個新的一維數組。

$arr1 = array_map(create_function('$n', 'return $n["price"];'), $data);

如果php版本大於 5.5的話,可以直接用 array_column 這個數組操作方法直接獲取某個字段,這裡也可以通過foreach來獲取,但是盡量用內置函數處理。

然後就用array_multisort處理,

array_multisort($arr1,SORT_DESC,$data );//多維數組的排序

我們可以打印$data最後的結果來看一看結果:

 

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