新闻中心

php中实现数组去重的函数

2025-12-05
浏览次数:
返回列表
使用array_unique()可去除数组重复值,保留首个元素并保持键名;结合array_values()可实现连续索引;多维数组需序列化后去重;自定义去重可通过遍历和标记实现。

php中实现数组去重的函数

在 PHP 中,实现数组去重最常用的方法是使用内置函数 array_unique()。这个函数可以移除数组中重复的值,并保留第一个出现的元素。

1. 使用 array_unique() 函数

array_unique() 是 PHP 提供的专门用于去除数组中重复值的函数。它适用于索引数组和关联数组。

示例:
$arr = [1, 2, 2, 3, 4, 4, 5];
$result = array_unique($arr);
print_r($result);
// 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

注意:重复值会被移除,但原数组的键名会保留,所以结果中键可能不连续。

2. 去重后重新索引(适用于数字索引数组)

如果希望去重后数组的键从 0 开始连续排列,可以结合 array_values() 使用。

极限网络办公Office Automation 极限网络办公Office Automation

专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬

极限网络办公Office Automation 0 查看详情 极限网络办公Office Automation 示例:
$arr = ['apple', 'banana', 'apple', 'orange', 'banana'];
$result = array_unique($arr);
$result = array_values($result); // 重新索引
print_r($result);
// 输出:Array ( [0] => apple [1] => banana [2] => orange )

3. 多维数组去重的处理

array_unique() 不能直接用于多维数组。需要先序列化每一项再进行去重。

示例:
function remove_duplicate_arrays($array) {
    $unique = array_unique(array_map('serialize', $array));
    return array_map('unserialize', $unique);
}

$arr = [
    ['name' => 'Tom', 'age' => 20],
    ['name' => 'Jerry', 'age' => 22],
    ['name' => 'Tom', 'age' => 20]
];

$result = remove_duplicate_arrays($arr);
print_r($result);

4. 按键去重(自定义逻辑)

若想根据某个字段去重(如二维数组中按 'name' 字段),可使用如下方法:

function unique_by_key($array, $key) {
    $seen = [];
    $result = [];
    foreach ($array as $item) {
        if (!in_array($item[$key], $seen)) {
            $seen[] = $item[$key];
            $result[] = $item;
        }
    }
    return $result;
}

基本上就这些常见用法。对于大多数情况,array_unique() 配合 array_values() 就能满足需求。复杂场景则需手动控制去重逻辑。

以上就是php中实现数组去重的函数的详细内容,更多请关注其它相关文章!


# 第一个  # 汾阳短视频营销推广哪里有  # 盐山优化网站  # seo如何清理垃圾代码  # 互动百科SEO 教程  # seo渗透测试  # 潢川seo网络推广团队  # 母婴行业自媒体推广营销  # 山西seo人员  # 搜狗seo推广效果  # 众人网站推广软文  # 十大  # 就能  # php  # 序列化  # 移除  # 自定义  # 适用于  # 上传  # 组中  # 多维  # 排列  # apple  # app  # 数组去重 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道  qq游戏手机版下载安装_qq游戏移动端入口  响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配  Pygame教程:解决用户输入与游戏状态更新不同步问题  多闪网页版在线观看免费入口_多闪官网访问入口  夸克浏览器图书入口 夸克手机浏览器阅读入口  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  J*aScript教程:根据元素文本内容动态设置背景色  PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比  在Qt QML中通过Python字典动态更新TextEdit内容的教程  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  Archive of Our Own官网直达 AO3最新可用地址一览  漫蛙漫画官方首页 漫蛙2漫画在线阅读入口  微信客户端如何收红包_微信客户端接收红包使用教程  小猿搜题在线学习页面在哪_小猿搜题在线学习中心入口  怎么去除衣服上的口红印_生活小妙招教你用酒精轻松擦除  Angular响应式表单:实现提交后表单及按钮的禁用与只读化  三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】  cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法  手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议  J*aScript中安全有效地处理localStorage字符串数据  提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案  CSS子选择器:如何区分并样式化嵌套列表的子层级  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  小米汽车11月交付量突破40000台!雷军:将继续努力  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】  电脑IP地址怎么查 查看本机IP地址的几种方法  Win11网速慢怎么解决 Win11网络设置优化解除限速  Python类型检查:优化关联可选属性的Mypy推断策略  抓大鹅解压小游戏 抓大鹅摸鱼解压入口  LINUX怎么设置定时任务_LINUX crontab配置教程  深入理解J*a链表中的IPosition接口与使用  漫蛙2正版漫画站 漫蛙2网页版快速访问入口  msn官网入口地址手机版 msn官方网站手机最新链接  Node.js 中使用 node-cron 实现定时 API 数据抓取与处理  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  QQ网页版官方账号入口 QQ网页版网页版登录指南  Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程  Python大型XML文件高效流式解析教程  sublime怎么设置启动时打开的窗口_sublime会话管理与热退出  sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置  Shopware订单对象中获取产品自定义字段的正确方法  React项目中导航栏Logo自适应布局:避免裁剪与布局溢出  《燕云十六声》两周内达九百万玩家!位居畅销榜第五  C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果  Tabulator表格中精确实现日期时间排序的指南  使用Pandas转换并合并DataFrame:多列映射至统一结构  文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】  Android Studio计算器C键逻辑错误排查与修复:条件判断优化指南 

搜索