PHP - 计算数组值的频率

时间:2012-04-05 19:35:24

标签: php arrays count frequency

在php中有没有办法计算大数组中值的存在频率?

所以如果我有这样的数组:

$array = "1,2,3,4,joe,1,2,3,joe,joe,4,5,1,6,7,8,9,joe";

有没有办法输出一个新数组,告诉我(和排序)最常用的数据和每个数量的数量?

$result = array(
    [joe] => 4
    [1] => 3
    [2] =>2
    etc...
    )

我已经看过php array_count_values,但这可以按大多数排序 - >最小?或者有更简单的方法吗?

谢谢大家!

1 个答案:

答案 0 :(得分:7)

使用arsort()

计算它们后对它们进行排序
$result = array_count_values(explode(',', $array));
arsort($result);

Array
(
    [joe] => 4
    [1] => 3
    [2] => 2
    [4] => 2
    [3] => 2
    [9] => 1
    [8] => 1
    [5] => 1
    [6] => 1
    [7] => 1
)