PHP二維數組排序

   之前遇到二維數組排序的問題都是本身寫排序函數,今天遇到一個二維數組排序問題,就想簡單一點,網上找了一圈,沒發現比較簡單的寫法,研究了一下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

        )

 

)

相關文章
相關標籤/搜索