【PHP】二维数组根据多个字段进行排序

依然范儿特西
2021-06-24 / 0 评论 / 32 阅读 / 正在检测是否收录...

函数 array_multisort()

array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

函数 array_column()

array_column()从记录集中取出 last_name 列:

代码

<?php

$data = [
    ['name'=>'laofan1','age'=>18,'space'=>3],
    ['name'=>'laofan2','age'=>19,'space'=>1],
    ['name'=>'laofan3','age'=>19,'space'=>2],
    ['name'=>'laofan4','age'=>17,'space'=>4],
];
array_multisort(array_column($data, 'age'),SORT_DESC,array_column($data, 'space'),SORT_DESC, $data);
print_r($data);

?>

结果

Array
(
    [0] => Array
        (
            [name] => laofan3
            [age] => 19
            [space] => 2
        )

    [1] => Array
        (
            [name] => laofan2
            [age] => 19
            [space] => 1
        )

    [2] => Array
        (
            [name] => laofan1
            [age] => 18
            [space] => 3
        )

    [3] => Array
        (
            [name] => laofan4
            [age] => 17
            [space] => 4
        )

)

0

评论 (0)

取消