プログラマの戯言

Wordpress、PHP、Movabletype、Javascript、SQL、アプリ他いろいろTips

PHP 多次元連想配列 重複削除

よくセレクトボックスなどに値を表示する際
DBからデータをとってきたりすると
配列の中で値が重複したりします。

SQLでとり方を工夫してやってもいいんですが
そうもいかない時もあります。

そういった機会がたまにあるので
毎回コードを書くのも面倒ということもあり
以下にまとめます。

重複している多次元連想配列
$list = array(
  array("id"=>"1","title"=>"イギリス")
 ,array("id"=>"2","title"=>"フランス")
 ,array("id"=>"3","title"=>"日本")
 ,array("id"=>"4","title"=>"ブラジル")
 ,array("id"=>"5","title"=>"日本")
);
重複を削除するコード
$arr_tmp = $arr_result = array();

foreach($list as $num => $value){
 if(!in_array($value['title'], $arr_tmp)){
  $arr_tmp[] = $value['title'];
  $arr_result[] = $value;
 }
}

print_r($arr_result);

上記ではtitleがキーとなる値に「日本」が2つあるので
それを除くという方法です。

結果は「日本」の重複がなくなったものが「$arr_result」に入ります。

以上、備忘録でした!