1. 程式人生 > >php 二維陣列自定義排序

php 二維陣列自定義排序

有時候需要對一個二維陣列進行排序,自定義對應的排序規則,比如對一個班級裡面的同學,先按身高降序排序,身高相同的,再按體重降序排序。。。

程式碼:

<?php
$array = [
    ["id" => "1", "name" => "a", "age" => "19",],
    ["id" => "2", "name" => "b", "age" => "39",],
    ["id" => "3", "name" => "c", "age" => "9",],
    ["id" => "4", "name" => "d", "age" => "1",],
    [
"id" => "5", "name" => "e", "age" => "88",], ["id" => "6", "name" => "f", "age" => "65",], ["id" => "7", "name" => "g", "age" => "19",], ]; array_multisort(array_column($array,"age"),SORT_DESC,array_column($array,"id"),SORT_DESC,$array); print_r($array); ?>

 

上面這個二維陣列,先按年齡(age)降序排序,如果年齡(age)相同的話,再按 id 降序排序

輸出:

Array
(
    [0] => Array
        (
            [id] => 5
            [name] => e
            [age] => 88
        )

    [1] => Array
        (
            [id] => 6
            [name] => f
            [age] => 65
        )

    [
2] => Array ( [id] => 2 [name] => b [age] => 39 ) [3] => Array ( [id] => 7 [name] => g [age] => 19 ) [4] => Array ( [id] => 1 [name] => a [age] => 19 ) [5] => Array ( [id] => 3 [name] => c [age] => 9 ) [6] => Array ( [id] => 4 [name] => d [age] => 1 ) )