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」に入ります。
以上、備忘録でした!