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


Posted in PHP onJanuary 12, 2017

本文实例讲述了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.3water.com/aideddesign/txt_quchong

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

PHP 相关文章推荐
php mssql 数据库分页SQL语句
Dec 16 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
PHP通用检测函数集合
Feb 08 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
php多个字符串替换成同一个的解决方法
Jun 18 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
PHP速成大法
Jan 30 PHP
php筛选不存在的图片资源
Apr 28 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 04 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
PHP生成图片缩略图类示例
Jan 12 #PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 #PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 #PHP
YII2 实现多语言配置的方法分享
Jan 11 #PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 #PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 #PHP
php实现36进制与10进制转换功能示例
Jan 10 #PHP
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP 七大优势分析
2009/06/23 PHP
Java中final关键字详解
2015/08/10 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
动态表格Table类的实现
2009/08/26 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
解决vue 退出动画无效的问题
2020/08/09 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
python读取并写入mat文件的方法
2019/07/12 Python
python爬虫添加请求头代码实例
2019/12/28 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
Java基础知识面试要点
2016/07/29 面试题
法律系毕业生自荐信范文
2014/03/27 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
安全承诺书格式范本
2015/04/28 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
关于运动会的广播稿
2015/08/19 职场文书
2016年国陪研修感言
2015/11/18 职场文书