array array_count_values ( array $input )array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。统计数组中所有值出现的次数:

<?php
$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));
?>
登录后复制

定义和用法

array_count_values() 函数用于统计数组中所有值出现的次数。

语法

array_count_values(array)
登录后复制

参数 描述

array 必需。规定需要统计数组中所有值出现次数的数组。

array_values()//可以剥离数组中的关联键和数值键,或得有其元素的值所组成的数组
  array_keys()//获得所有的关联键和数值键
 利用这两个函数就可以非常方便简单的实现
 array_count_values()函数
 思路就是先用array_values()或得元素值数组
 再将元素值数组作为关联键新建一个数组(当然得先检查该关联键是否存在)
 然后再用foreach循环原来的数组将元素值作为新数组的关联键操作即可
 可能表达的不是很清楚,直接上代码
 
123456789101112131415161718192021222324252627282930313233343536   
 <?php
     //统计数组中数据出现的频率   
      function  mycount($arr)    
          {        if(is_array($arr))      
                {           
                     $values = array_values($arr); //取得数组中数值                         
                     $count = array();//初始化数组                                      
                     foreach ($values as $value)            
                         {                
                             if(!array_key_exists($value,$count))                
                             {                    
                                 //如果键不存在则创建关联键                    
                                 $temp = array($value=>0);  //连接两个数组实际上相当于往里面添加元素                    
                                 $count=array_merge($count,$temp);                                   
                               }           
                           }            
                               foreach ($values as $key)           
                                {                
                                    $count[$key]++;           
                                 }            
                                 return $count;       
                              }       
                           return  $arr;     
                         }   
                          $a = array("ABC","FUCKYOU","ABC","Dady","PO","Dady","LIN","ABC","LIN","FUCKYOU");  
                          $a = mycount($a);    
                          print_r($a);    
   ?>    
   // 运行结果
   Array (    [ABC] => 3    [FUCKYOU] => 2    [Dady] => 2    [PO] => 1    [LIN] => 2 )
登录后复制


以上就是php中的array_count_values()函数详解的详细内容,更多请关注Work网其它相关文章!

09-18 09:14