首页 >后端开发 >php教程 >如何按多个字段(return_fare 和 one_way_fare)对 PHP 数组进行排序?

如何按多个字段(return_fare 和 one_way_fare)对 PHP 数组进行排序?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-21 10:39:09518浏览

How to Sort a PHP Array by Multiple Fields (return_fare and one_way_fare)?

PHP 按多个字段值对数组进行排序

在 PHP 中可以使用 array_multisort() 或有用的 array_orderby 对数组进行多个字段值排序() 函数。

要使用 array_multisort(),首先获取一个列表columns:

foreach ($data as $key => $row) {
    $return_fare[$key] = $row['return_fare'];
    $one_way_fare[$key] = $row['one_way_fare'];
}

然后,使用 array_multisort() 对数据进行排序:

array_multisort($data, $return_fare, SORT_ASC, $one_way_fare, SORT_ASC);

或者,您可以使用 array_orderby() 函数,这可以简化过程:

$sorted = array_orderby($data, 'return_fare', SORT_ASC, 'one_way_fare', SORT_ASC);

为了避免循环,您还可以使用array_column():

array_multisort(array_column($data, 'return_fare'), SORT_ASC,
                array_column($data, 'one_way_fare'), SORT_ASC,
                $data);

此方法将列值分配给单独的数组,然后用于排序。

以上是如何按多个字段(return_fare 和 one_way_fare)对 PHP 数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

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