PHP统计数值数组中出现频率最多的10个数字的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP统计数值数组中出现频率最多的10个数字的方法。分享给大家供大家参考。具体分析如下:

该问题属于TOPK范畴,统计单词出现频率,做报表,数据统计的时会常用!

php代码如下:

//随机生成数值数组
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 次

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP小技巧之函数重载

1.可以使用func_get_args()和func_num_args()这两个函数实现函数的重载!! PHP代码: 复制代码 代码如下:function rewrite() {&nbs...

php中time()与$_SERVER[REQUEST_TIME]用法区别

php中time()与$_SERVER[REQUEST_TIME]用法区别

本文实例详细讲述了php中time()与$_SERVER[REQUEST_TIME]用法的区别。分享给大家供大家参考。具体分析如下: 简单的说time()与$_SERVER["REQUE...

PHP中获取时间的下一周下个月的方法

复制代码 代码如下: //通常用于定制服务的时候使用,比如包月会员,包年等等 //获取当前时间过一个月的时间,以DATETIME格式显示 date('Y-m-d H:i:s',strto...

POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)

首先来看看 POSIX 风格正则表达式的两个主要函数: ereg 函数:(正则表达式匹配) 格式:int ereg ( string pattern, string string [,...

PHP解决中文乱码

在php中,中文乱码非常头疼,很麻烦,所以根据在编程的经验,总结以下方法(以utf_8为例), 1.php中在头部header设置编码方式 header("Content-type:te...