在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,但这可以按大多数排序 - >最小?或者有更简单的方法吗?
谢谢大家!
答案 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
)