【PHP】配列から、値が重複していないものだけを取り出す

『array_unique()』のように重複を削除してすべてをユニークに
するのではなく、最初からユニークなものだけを取り出す方法です。


今回主役の関数は『array_count_values()』です。
http://www.php.net/manual/ja/function.array-count-values.php


配列内の、重複する値の数を数えてくれます。
ユニークな値ならば、『array_count_values()』の戻り値の配列の
値は1となります。
となれば、あとは『array_count_values()』の戻り値の配列の値を
ひとつずつ確認して、値が1のキーだけを取り出せばいいでしょう。


$arr = array('hoge', 1, 'hoge', 3, 'fuga', 1, 'piyo', 2, 'piyo');
$cnt_list = array_count_values($arr);
foreach($cnt_list as $key => $val){
if($val == 1) $result[] = $key;
}
print_r($result);
//$result => 3, fuga, 2
実験ページ
http://www.usamimi.info/~sutara/sample/unique_val.php