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 相关文章推荐
数据库相关问题
Oct 09 PHP
请php正则走开
Mar 15 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
php实现三级级联下拉框
Apr 17 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
laravel使用redis队列实例讲解
Mar 23 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
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
php计算税后工资的方法
2015/07/28 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Python flask框架端口失效解决方案
2020/06/04 Python
python 绘制正态曲线的示例
2020/09/24 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
给老婆的婚前保证书
2014/02/01 职场文书
违章停车检讨书
2014/10/21 职场文书
男生贾里读书笔记
2015/06/30 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL