PHP从多维数组中删除重复的值

有时,我们需要从PHP的多维数组中删除重复值。在本教程中,我们将讨论如何使用PHP从多维数组中删除重复的值。我们在多个数组array_merge()合并时,可能存在重复的数组值。

使用PHP中的 array_unique()和array_map() 函数

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。

array_unique() 函数移除数组中的重复的值,并返回结果数组。当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。返回的数组中键名不变。 

我这里假设有三个数组$roomOne, $roomTwo, $roomThree,数组结构都是一样的

//合并数组,并去掉重复项
$res = array_merge($roomOne, $roomTwo, $roomThree);
//去掉重复项
$res = array_unique(array_map("serialize", $res));
//反序列化
$res = array_map("unserialize", $res);

这样处理后的数组值就不会重复。

注:处理后数组可能排序变了,会导致json后返回的是一个json对象而不是json数组。需要使用array_values()返回新的索引数组,json后就会返回json数组。

array_values()函数获取数组中的所有值并返回一个新的索引数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值