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中文網其他相關文章!