php で配列内の同一の要素の数を数える方法
連想配列は通常、統計のためにグループ化できません。array_values() 関数を使用して、統計のために配列要素をグループ化できます。
$arr = array( 'a'=>'java', 'b'=>'php', 'c'=>'java', ); $arr = array_values($arr); //返回数组所有的值,并建立数字索引 $arr1 = array(); foreach ($arr as $a){ if (!isset($arr1[$a])){ $arr1[$a] = 1; }else { $arr1[$a]++; } } echo "<table border='1' cellpadding='5'>"; foreach($arr1 as $k=>$val){ echo "<tr><td>$k</td><td>$val</td></tr>"; } echo "</table>";
PHP の array_count_values() 関数を実装できます
array_count_values() 関数は、配列内のすべての値の出現数をカウントするために使用されます。
この関数は配列を返します。その要素のキー名は元の配列の値で、キー値は値が元の配列に出現する回数です。
array_count_values(配列)
例:
$a=array("Cat","Dog","Horse","Dog"); print_r(array_count_values($a));
出力:
配列 ( [猫] => 1 [犬] => 2 [馬] => 1 )