当前位置: 首页 > 面试题库 >

在PHP中对关联数组进行排序

诸葛苏燕
2023-03-14
问题内容

我有这种格式的数组:

Array
(
    [0] => Array
        (
            [text] => tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 7480000
            [lastMonthSearchVolume] => 9140000
        )

    [1] => Array
        (
            [text] => personality tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 165000
            [lastMonthSearchVolume] => 201000
        )

    [2] => Array
        (
            [text] => online tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 246000
            [lastMonthSearchVolume] => 301000
        )

)

如何按该avgSearchVolume字段的降序对该格式的数组排序?是否有内置功能?


问题答案:

使用usort并提供您自己的功能进行订购,例如

function cmp($a, $b)
{
    return $b['avgSearchVolume'] - $a['avgSearchVolume'];
}

usort($array, "cmp");


 类似资料:
  • 问题内容: 给定此数组: 我想按价格对元素进行排序以获得: 我怎样才能做到这一点? 问题答案: 没错,您要寻找的功能是。 以下是直接取自手册并适合您的情况的示例: 从PHP 5.5.0开始,您可以使用array_column()代替foreach

  • 问题内容: 我有一个数组: 我尝试使用PHP进行各种功能来实现此数组结构: 它由数组值和键/值保持的顺序。有任何想法吗? 问题答案: 这应该使用asort()起作用: 输出:

  • 问题内容: 我有一个由数组组成的数组。我想通过子数组的属性对父数组进行排序。这是一个例子 我想通过在子数组中升序对父数组进行排序,因此在这种情况下,结果将是子数组颠倒(,)。使用众多的PHP排序函数中的任何一种,是否可能? 问题答案: 您可以将usort函数用作:

  • 问题内容: 该问题旨在作为有关PHP中数组排序问题的参考。容易想到您的特定案例是独特的,值得提出新的问题,但是实际上大多数都是此页面上一种解决方案的细微变化。 如果您的问题作为该问题的重复而被关闭,请仅在您可以解释为什么该问题与以下所有内容明显不同时才要求重新提出您的问题。 如何在PHP中对数组排序? 如何在PHP中对 复杂 数组进行排序? 如何在PHP中对对象数组进行排序? 有关使用PHP现有功

  • 问题内容: 我已将CSV数据加载到多维数组中。这样,每个“行”都是一条记录,每个“列”都包含相同类型的数据。我正在使用下面的功能加载我的CSV文件。 我需要能够指定要排序的列,以便重新排列行。其中一列包含格式为的日期信息,我希望能够以最新日期为第一行进行排序。 问题答案: 您可以使用array_multisort() 尝试这样的事情: 对于PHP> = 5.5.0,只需提取列进行排序即可。无需循环

  • 问题内容: 我有这种格式的数组: 我想按日期的升序对它们进行排序(基于月,日和年)。最好的方法是什么? 最初,电子邮件是以MySQL日期格式获取的,因此我有可能将阵列设置为以下状态: 也许当它采用这种格式时,我可以遍历它们,删除所有(连字符)标记,使它们保留为整数,使用它们对它们进行排序,然后再次遍历它们以对其进行排序?如果有另一种方法,我会比较喜欢,因为我将为此每个用户执行3次循环。 谢谢。 编