PHP数组去重可通过五种方式:一、array_unique()函数直接去重并重置数字键;二、array_flip()两次反转法利用键唯一性;三、foreach循环手动判断;四、array_reduce()累积构建;五、关联数组用array_intersect_key()保留键名。

如果PHP数组中存在重复元素,需要保留唯一值并移除冗余项,则可以通过多种内置函数或自定义逻辑实现。以下是几种可行的操作方式:
一、使用array_unique()函数
该函数直接对数组进行去重处理,保留每个键值首次出现的元素,返回新数组,原数组不受影响。适用于索引数组和关联数组,但会重置数字键。
1、定义一个含重复值的数组,例如:$arr = [1, 2, 2, 3, 4, 4, 5];
2、调用array_unique($arr),得到去重后的新数组。
立即学习“PHP免费学习笔记(深入)”;
3、如需保持原有数字键顺序,可追加array_values()重新索引,例如:$result = array_values(array_unique($arr));
二、使用array_flip()两次反转法
利用键名唯一性原理:先将数组值转为键名,再反转回值,自动剔除重复键对应的覆盖项。此方法仅适用于值为字符串或整数的数组,且会丢失原始键名。
1、对原数组执行array_flip($arr),生成以原值为键、原键为值的临时数组。
2、对上一步结果再次执行array_flip(),恢复为以原值为值的新数组。
3、最终结果即为去重后的数组,例如:$result = array_flip(array_flip($arr));
三、使用foreach循环手动判断
通过遍历逐个检查元素是否已存在于目标数组中,适合需自定义比较逻辑(如忽略大小写、处理嵌套结构)的场景,但性能低于内置函数。
1、初始化空数组$unique = [];
还木有评论哦,快来抢沙发吧~