[php]多維陣列排序array_multisort

參考網址:https://segmentfault.com/a/1190000038976961

arr=[
            [
                'age'=>50,
                'name'=>'张三'
            ],
            [
                'age'=>18,
                'name'=>'李四'
            ],
            [
                'age'=>27,
                'name'=>'王五'
            ]
        ];

我们怎么按照age或name排序呢?我们可以使用array_multisort这个函数来进行按指定字段排序。

array_multisort(array_column($arr,'age'),SORT_ASC,$arr);
var_dump($arr);

 

還有一個問題,如何指定第二個鍵值呢?
在 https://www.php.net/manual/en/function.array-multisort.php 找到答案
 

Arbitrarily sort the two-dimensional array according to multiple keys:

array_multisort (
    array_column($array, 'key1'), SORT_ASC,
    array_column($array, 'key2'), SORT_DESC,
    array_column($array, 'key3'), SORT_ASC,
    array_column($array, 'key4'), SORT_DESC,
    $array
);

 

本篇發表於 程式設計。將永久鏈結加入書籤。