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最后的結果來看一看結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM