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 JSON 数据解析代码
May 26 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 PHP
PHP底层运行机制与工作原理详解
Jul 31 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中strtotime函数使用方法分享
2012/01/10 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python实现线程池代码分享
2015/06/21 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
pygame实现打字游戏
2021/02/19 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
写给女朋友的道歉信
2014/01/12 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
入党综合考察材料
2014/06/02 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
安全教育观后感
2015/06/17 职场文书
记者节感言
2015/08/03 职场文书
物业管理交接协议书
2016/03/24 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
AngularJS实现多级下拉框
2022/03/25 Javascript
MySQL去除密码登录告警的方法
2022/04/20 MySQL