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

admin 阅读:32 2024-02-29

该功能更好的处理方式请参考: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)键名保持不变,但数字键名会被重新索引。

声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!