我们在处理PHP数组的时候,经常发现数组中有很多重复数据,这个时候需要去重多为数组中的重复值,接下来吾爱编程为大家详细的介绍一下php多维数组去除重复值的方法,有需要的小伙伴可以参考一下:
1、解决思路:
(1)、使用“array_map('serialize', $arr)”将多维数组转换为以字符串形式的一维数组;
(2)、使用array_unique()去除一维数组中的重复值;
(3)、将去重后的一维数组重新转为多维数组。
2、PHP方法:
/* * 多维数组去重 */ function ArrayUnique($arr) { //利用serialize()方法将数组转换为以字符串形式的一维数组 $t = array_map('serialize', $arr); //去掉重复值 $t = array_unique($t); //然后将刚组建的一维数组转回为php值 $new_arr = array_map('unserialize', $t); //键值重组 $new_arr = array_values($new_arr); return $new_arr; }
3、实例测试:
$arr = array( array('web_name' => '吾爱', 'en_name' => 'itbc','pinyin' => 'wuai'), array('web_name' => '吾爱1', 'en_name' => 'itbc','pinyin' => 'wuai'), array('web_name' => '吾爱', 'en_name' => 'itbc','pinyin' => 'wuai'), array('web_name' => '吾爱2', 'en_name' => 'itbc','pinyin' => 'wuai'), array('web_name' => '吾爱3', 'en_name' => 'itbc','pinyin' => 'wuai'), ); $new_arr = ArrayUnique($arr); print_r($new_arr);
4、测试结果
Array ( [0] => Array ( [web_name] => 吾爱 [en_name] => itbc [pinyin] => wuai ) [1] => Array ( [web_name] => 吾爱1 [en_name] => itbc [pinyin] => wuai ) [2] => Array ( [web_name] => 吾爱2 [en_name] => itbc [pinyin] => wuai ) [3] => Array ( [web_name] => 吾爱3 [en_name] => itbc [pinyin] => wuai ) )