首页 >后端开发 >php教程 >如何在 PHP 中按值和键对关联数组进行排序?

如何在 PHP 中按值和键对关联数组进行排序?

Susan Sarandon
Susan Sarandon原创
2024-11-18 05:39:02725浏览

How to Sort an Associative Array by Values and Keys in PHP?

按值和键对关联数组进行排序

PHP 提供了多种对数组进行排序的函数。对于平面关联数组,其中键是字符串,值是数字,array_multisort() 函数提供了同时按值和键排序的解决方案。

示例:

考虑以下数组:

$arrTags = [
    'mango' => 2,
    'orange' => 4,
    'apple' => 2,
    'banana' => 3
];

所需输出:

我们的目标是先按值的降序排列此数组,然后再按升序排列键的顺序,结果为:

orange (4)
banana (3)
apple (2)
mango (2)

解决方案:

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);

解释:

  • array_values($ arrTags) 将值提取为单独的数组。
  • SORT_DESC 指定值的降序排列。
  • array_keys($arrTags) 提取键作为单独的数组。
  • SORT_ASC 指定键的升序。
  • 最后,使用 将排序后的值和键合并回原始数组$arrTags.

以上是如何在 PHP 中按值和键对关联数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

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