首页 >后端开发 >php教程 >如何在 PHP 中通过内部数组的字段对多维数组进行排序?

如何在 PHP 中通过内部数组的字段对多维数组进行排序?

Linda Hamilton
Linda Hamilton原创
2024-11-29 06:14:101057浏览

How to Sort a Multidimensional Array in PHP by an Inner Array's Field?

在 PHP 中按内部数组字段对多维数组进行排序 [重复]

考虑一个表示类似数据库结构的多维数组,其中每个元素表示具有包含字段名称-值对的内部数组的行。例如:

Array
(
    [0] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )

    [1] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [2] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )  
}

目标是根据“价格”字段对这些行进行排序。期望的结果是:

Array
(
    [0] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [1] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )

    [2] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )        
}

解决方案:

为了实现这种排序,PHP 提供了以下简单的解决方案:

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

或者,以下代码片段可用于保留外部数组键:

$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, SORT_NUMERIC, $yourArray);

以上是如何在 PHP 中通过内部数组的字段对多维数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn