PHP 统计数值数组中出现次数最多的10个数字(TOP K问题)

//随机生成数值数组 
for($i=0;$i<1000;$i++){
    $ary[]=rand(1,1000);
}
$ary=array_count_values($ary);//统计数组中全部的值出现的次数
arsort($ary);//倒序排序
$i=1;
foreach($ary as $key=>$value){
    if($i<=10){
        printf("数字:%d 共出现 %d 次<br/>",$key,$value); 
    }else{
        break;
    }
    $i++;
}
unset($ary);
//结果
数字:255 共出现 6 次
数字:443 共出现 5 次
数字:906 共出现 5 次
数字:623 共出现 5 次
数字:586 共出现 4 次
数字:660 共出现 4 次
数字:873 共出现 4 次
数字:208 共出现 4 次
数字:247 共出现 4 次
数字:240 共出现 4 次
相关文章
相关标签/搜索