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 相关文章推荐
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
php 解压rar文件及zip文件的方法
May 05 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
php批量删除操作代码分享
Feb 26 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php实现算术验证码功能
Dec 05 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
PHP实现倒计时功能
Nov 16 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
Snoopy类使用小例子
2008/04/15 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
PHP生成随机密码类分享
2014/06/25 PHP
php画图实例
2014/11/05 PHP
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
python 计算两个日期相差多少个月实例代码
2017/05/24 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
linux面试相关问题
2013/04/28 面试题
专业毕业生个性的自我评价
2013/10/03 职场文书
市场安全管理制度
2014/01/26 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
MySQL数据库必备之条件查询语句
2021/10/15 MySQL
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python