我们在处理PHP数组的时候,经常发现数组中有很多重复数据,这个时候需要去重多为数组中的重复值,接下来为大家详细的介绍一下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
)
)
非常完美!!!
文章介绍了在PHP中如何去除多维数组的重复值,主要步骤包括使用array_map将多维数组转换为一维,通过array_unique去除重复,然后用array_map和array_values将处理后的数组还原为多维格式。提供的示例代码展示了整个过程并给出了测试结果。

540

被折叠的 条评论
为什么被折叠?



