根据频率对此阵列内的元素进行排序

时间:2016-11-17 04:57:34

标签: php arrays multidimensional-array

我正在项目中间面对这种数组。我希望它根据ID频率进行排序,这意味着哪个id重复最多必须作为结果数组的第一个元素。怎么做??

提前感谢您的帮助!!!

Array
(
    [0] => Array
        (
            [id] => 1
        )
[1] => Array
    (
        [id] => 4
    )

[2] => Array
    (
        [id] => 3
    )

[3] => Array
    (
        [id] => 4
    )

[4] => Array
    (
        [id] => 1
    )

[5] => Array
    (
        [id] => 4
    )

[6] => Array
    (
        [id] => 7
    )
)

1 个答案:

答案 0 :(得分:0)

如果上面的数组是你的结构,那么像这样的东西可以帮助你组织id及其相关的计数:

$filtered = array_count_values(array_column($myArray, 'id'));
// now sort it: high - low
arsort($filtered);

这导致以下数组:

Array (
    [4] => 3
    [1] => 2
    [3] => 1
    [7] => 1
)

上面的键是id列,值是初始数组中出现的次数

我的问题是; 你需要它的原始格式,刚刚订购,还是频率显示如上所述