PHP中根據二維陣列中某個字段實現排序

2021-10-02 06:45:04 字數 1457 閱讀 6715

想要實現二維陣列中根據某個字段排序,一般可以通過陣列迴圈對比的方式實現。這裡介紹一種更簡單的方法,直接通過php函式實現。

array_multisort() :可以用來一次對多個陣列進行排序,或者根據某一維或多維對多維陣列進行排序。

詳細介紹可參考php手冊:

1、單個字段排序:

$data=[

['id'

=>1,

'name'

=>

'張三'

,'sort'

=>60]

,['id'

=>2,

'name'

=>

'李四'

,'sort'

=>40]

,['id'

=>3,

'name'

=>

'王五'

,'sort'

=>80]

,];// 先取出要排序的字段的值

$sort

=array_column

($data

,'sort');

// 按照sort欄位公升序 其中sort_asc表示公升序 sort_desc表示降序

array_multisort

($sort

,sort_asc

,$data);

// 輸出結果

var_dump

($data

);

2、多個字段排序:

$data=[

['id'

=>1,

'name'

=>

'張三'

,'sort'

=>60]

,['id'

=>2,

'name'

=>

'李四'

,'sort'

=>60]

,['id'

=>3,

'name'

=>

'王五'

,'sort'

=>80]

,];// 先取出要排序的字段的值

$sort

=array_column

($data

,'sort');

$name

=array_column

($data

,'name');

// 先按照sort欄位公升序,再按照name欄位降序

array_multisort

($sort

,sort_asc

,$name

,sort_desc

,$data);

// 輸出結果

var_dump

($data

);

PHP 二維陣列根據某個字段排序

php view plain copy 二維陣列根據某個字段排序 功能 按照使用者的年齡倒序排序 author ruxing.li header content type text html charset utf 8 arrusers array array id 1,name 張三 age 25...

PHP二維陣列根據某個字段排序

二維陣列根據某個字段排序 功能 按照使用者的年齡倒序排序 author ruxing.li header content type text html charset utf 8 arrusers array array id 1,name 張三 age 25,array id 2,name 李四 ...

PHP 二維陣列根據某個字段排序

本文記錄的要實現的功能類似於 mysql 中的 order by,上個專案中有遇到這樣的乙個需求。要求 從兩個不同的表中獲取各自的4條資料,然後整合 array merge 成乙個陣列,再根據資料的建立時間降序排序取前4條。遇到這個要求的時候就不是 order by 能解決的問題了。因此翻看 php...