php二维数组按某个字段排序

 
更多

该功能更好的处理方式请参考:php二维数组按其中某一列排序

php二维数组按某个字段排序。

如需要将以下user_list变量按照第二维的字段age排序,则可以:

$user_list = [
    ['name' => '张三', 'age' => 28],
    ['name' => '李四', 'age' => 21],
    ['name' => '王五', 'age' => 20],
    ['name' => '赵六', 'age' => 21]
];

按升序排列:

array_multisort(array_column($user_list, 'age'), SORT_ASC, $user_list);

结果:

Array
(
    [0] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 21
        )

    [2] => Array
        (
            [name] => 赵六
            [age] => 21
        )

    [3] => Array
        (
            [name] => 张三
            [age] => 28
        )

)

说明:

array_column(数组, 数组中的某个键值) 从二维维数组中取出某个键值的一列  返回一个一维数组;

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联(string)键名保持不变,但数字键名会被重新索引。

关于 array_multisort 函数的详细用法可参考:

http://www.php.net/manual/zh/function.array-multisort.php

打赏

本文固定链接: https://www.cxy163.net/archives/3224 | 绝缘体

该日志由 绝缘体.. 于 2020年10月21日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php二维数组按某个字段排序 | 绝缘体
关键字: , , , ,

php二维数组按某个字段排序:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter