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()函数详解的详细内容。更多信息请关注PHP中文网其他相关文章!