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 相关文章推荐
支持oicq头像的留言簿(二)
Oct 09 PHP
PHP程序员编程注意事项
Apr 10 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
php生成zip文件类实例
Apr 07 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
Dec 25 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 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页面防重复提交方法总结
2013/11/25 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
javascript学习网址备忘
2007/05/29 Javascript
Javascript 实用小技巧
2010/04/07 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
React diff算法的实现示例
2018/04/20 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
wxPython框架类和面板类的使用实例
2014/09/28 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
python基于ID3思想的决策树
2018/01/03 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
经典导游欢迎词大全
2014/01/16 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
自主招生教师推荐信
2014/05/10 职场文书
2014离婚协议书范文
2014/09/10 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
导游词之无锡古运河
2019/11/14 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python