之前遇到二維數組排序的問題都是本身寫排序函數,今天遇到一個二維數組排序問題,就想簡單一點,網上找了一圈,沒發現比較簡單的寫法,研究了一下PHP自帶的函數,發現只使用`array_multisort`這個函數就能夠實現二維數組排序,下面是示例:數組
/** * 胡榮桓 <huronghuan@hongboict.com> * 2018-06-05 */ //示例數組 $arrUsers = array( array( 'id' => 1, 'name' => '張三', 'age' => 25, ), array( 'id' => 2, 'name' => '李四', 'age' => 23, ), array( 'id' => 3, 'name' => '王五', 'age' => 40, ), array( 'id' => 4, 'name' => '趙六', 'age' => 31, ), array( 'id' => 5, 'name' => '黃七', 'age' => 20, ), ); //$arrUsers 待排序參數,`age` 二維數組字段 //根據年齡排序 ,若是要降序排序,則第二個參數改成`SORT_DESC` //亦可根據字符串排序,只需在`SORT_ASC`後添加參數 `SORT_STRING` array_multisort(array_column($arrUsers, 'age'),SORT_ASC,$arrUsers); print_r($arrUsers);
下面是輸出結果:函數
Arrayspa
(code
[0] => Arrayblog
(排序
[id] => 5字符串
[name] => 黃七class
[age] => 20sort
)二維數組
[1] => Array
(
[id] => 2
[name] => 李四
[age] => 23
)
[2] => Array
(
[id] => 1
[name] => 張三
[age] => 25
)
[3] => Array
(
[id] => 4
[name] => 趙六
[age] => 31
)
[4] => Array
(
[id] => 3
[name] => 王五
[age] => 40
)
)