[PHP]配列の重複した値をカウントするarray_count_values()

Read More


PHPの標準関数であるarray_count_values()が中々に便利。


■配列の重複した値をカウントする
$ary = array('hoge', 'piyo', 'piyo', 'fuga', 'fuga', 'fuga');
$res = array_count_values($ary);
print_r($res);



結果:
> Array ( [hoge] => 1 [piyo] => 2 [fuga] => 3 ) 




注意:
配列の値にnull値を含めるととワーニングが出た。
Warning: array_count_values() [function.array-count-values]: Can only count STRING and INTEGER values! in {path} on {line}

ちなみに''(空文字)はOKだった。


なので配列にnull値があるかも知れないときはあらかじめ''に変更しておいてやる必要があるな、と。




-- 追記: 2015/06/17
次の記事でも同じように配列を扱っているのでリンクをば。
■次の記事:[PHP]配列の重複した値を値別にまとめる 自作関数array_collect_values()
http://xirasaya.com/?m=detail&hid=472




-- 追記: 2015/06/17
正確には、
×配列の重複した値をカウントする
○配列の値の数を数える
という表現が正しいようだ。

だってPHPマニュアルにはそう書いてある。





参考:
■PHP: array_count_values - Manual
http://php.net/manual/ja/function.array-count-values.php