PHP实现二维数组去重功能示例

发布时间 - 2026-01-10 22:28:47    点击率:

本文实例讲述了PHP实现二维数组去重功能。分享给大家供大家参考,具体如下:

php中二维数组去重操作。例如从数据库中查询出的记录,根据某个键做去重操操作

代码如下:

/**
 * 删除二维数组中相同项的数据,(一般用于数据库查询结果中相同记录的去重操作)
 *
 * @param array $_2d_array 二维数组,类似:
 *     $tmpArr = array(
 *         array('id' => 1, 'value' => '15046f5de5bb708e'),
 *         array('id' => 1, 'value' => '15046f5de5bb708e'),
 *     );
 * @param string $unique_key 表示上述数组的 "id" 键,或者 "value" 键
 *
 * @return mixed
 */
function unique_2d_array_by_key($_2d_array, $unique_key) {
  $tmp_key[] = array();
  foreach ($_2d_array as $key => &$item) {
    if ( is_array($item) && isset($item[$unique_key]) ) {
      if ( in_array($item[$unique_key], $tmp_key) ) {
        unset($_2d_array[$key]);
      } else {
        $tmp_key[] = $item[$unique_key];
      }
    }
  }
  return $_2d_array;
}
//使用示例:
$tmpArr = array(
  array('id' => 1, 'value' => '15046f5de5bb708e'),
  array('id' => 1, 'value' => '15046f5de5bb708e'),
);
print_r(@unique_2d_array_by_key($tmpArr,id));

运行结果:

Array ( [0] => Array ( [id] => 1 [value] => 15046f5de5bb708e ) ) 

原理:将需要去重的第二维数组中的键保存起来,遍历对比下一组数据,如遇键值相同则删除。

PS:本站还有一款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线文本去重复工具:
http://tools./aideddesign/txt_quchong

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 二维数组  # 去重  # PHP二维数组的去重问题解析  # php二维数组合并及去重复的方法  # php冒泡排序、快速排序、快速查找、二维数组去重实例分享  # PHP二维数组去重算法  # php三维数组去重(示例代码)  # PHP二维数组去重实例分析  # PHP实现一维数组与二维数组去重功能示例  # php数组去重实例及分析  # PHP数组去重的更快实现方式分析  # php 数组元素快速去重  # PHP实现的多维数组去重操作示例  # 遍历  # 程序设计  # 组中  # 操作技巧  # 相关内容  # 感兴趣  # 给大家  # 推荐给  # 更多关于  # 所述  # 数据库中  # 键值  # 如遇  # 面向对象  # 数据库查询  # 讲述了  # tmpArr  # id  # _2d_array  # param 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: php在windows下怎么调试_phpwindows环境调试操作说明【操作】  bootstrap日历插件datetimepicker使用方法  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel如何创建自定义Facades?(详细步骤)  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  C++时间戳转换成日期时间的步骤和示例代码  高端云建站费用究竟需要多少预算?  浅谈redis在项目中的应用  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  网站页面设计需要考虑到这些问题  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  Laravel如何使用模型观察者?(Observer代码示例)  如何在Windows虚拟主机上快速搭建网站?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何在橙子建站中快速调整背景颜色?  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Android okhttputils现在进度显示实例代码  如何用PHP快速搭建CMS系统?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何在宝塔面板创建新站点?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  微信小程序 require机制详解及实例代码  微信小程序 canvas开发实例及注意事项  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何处理和验证JSON类型的数据库字段  如何挑选高效建站主机与优质域名?  如何挑选最适合建站的高性能VPS主机?  jQuery中的100个技巧汇总  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  深圳网站制作培训,深圳哪些招聘网站比较好?  如何安全更换建站之星模板并保留数据?  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何用腾讯建站主机快速创建免费网站?  linux top下的 minerd 木马清除方法  如何确保FTP站点访问权限与数据传输安全?