1

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,但这可以按最多 - > 最少排序吗?还是有更简单的方法?

谢谢大家!

4

1 回答 1

8

计数后对它们进行排序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
)
于 2012-04-05T19:39:35.847 回答