«

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

时间:2024-2-17 10:47     作者:韩俊     分类: 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

标签: php php教程

热门推荐