PHP中array_unique()可高效去重:一、基础用法保留首次出现元素及原键名;二、关联数组仅按值去重;三、配合array_values()重置为连续数字键;四、多维数组需序列化处理;五、支持SORT_STRING/SORT_NUMERIC自定义比较。

如果您在PHP开发中遇到数组包含重复元素的问题,需要保留唯一值并移除冗余项,则可以使用内置函数 array_unique() 实现高效去重。以下是该函数在不同场景下的具体应用方式:
一、基础用法:对一维索引数组去重
array_unique() 默认对一维索引数组执行去重操作,保留首次出现的元素,并保持原始键名不变。该方法适用于字符串、整数等标量值组成的简单数组。
1、定义一个含重复值的一维数组,例如:$arr = ['apple', 'banana', 'apple', 'cherry', 'banana'];
2、调用 array_unique($arr) 函数处理该数组。
立即学习“PHP免费学习笔记(深入)”;
3、使用 print_r() 输出结果,观察键名与值的变化。
二、关联数组去重:仅依据值判断重复
当数组为关联数组时,array_unique() 仍只比较值(value)是否重复,不检查键名(key)。重复值对应的后续键值对将被剔除,首次出现的键值对得以保留。
1、创建关联数组:$assoc = ['a' => 'red', 'b' => 'blue', 'c' => 'red', 'd' => 'green'];
2、执行 $result = array_unique($assoc);
3、验证输出中键 'c' 对应的元素已被移除,而键 'a' 保持存在。
三、强制重置键名:配合array_values()使用
array_unique() 默认保留原始键名,可能导致返回数组键名不连续。若需获得从0开始递增的数字索引,须手动调用 array_values() 重新索引。
1、对原数组执行去重:$unique = array_unique($arr);
标签: php app php开发 apple 键值对 red
还木有评论哦,快来抢沙发吧~