首頁  >  文章  >  类库下载  >  PHP多維數組根據其中一個欄位的值排序

PHP多維數組根據其中一個欄位的值排序

高洛峰
高洛峰原創
2016-10-09 11:51:171202瀏覽

平時簡單的一維數組或簡單的數組排序這裡就不多作介紹,這裡主要是針對平時做項目中的可能遇到的情況,根據多維數組中的其中一個排序。
用到的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最後的結果來看看結果:一看

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多