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


Posted in PHP onMay 24, 2018

本文实例讲述了PHP实现一维数组与二维数组去重功能。分享给大家供大家参考,具体如下:

数组中重复项的去除

一维数组的重复项:

使用array_unique函数即可,使用实例如下:

<?php
  $aa=array("1","2","3","3","2","watermalon");
  $bb=array_unique($aa);
  print_r($bb);
?>

结果如下:

Array ( [0] => 1 [1] => 2 [2] => 3 [5] => watermalon )

二维数组的重复项:

对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:

因为某一键名的值不能重复,删除重复项

<?php
function assoc_unique($arr, $key)
{
  $tmp_arr = array();
  foreach($arr as $k => $v)
  {
    if(in_array($v[$key], $tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
    {
     unset($arr[$k]);
    }
    else {
     $tmp_arr[] = $v[$key];
    }
  }
  sort($arr); //sort函数对数组进行排序
  return $arr;
}
$aa = array(
  array('shopId' => 1),
  array('shopId' => 1),
  array('shopId' => 2),
  array('shopId' => 2)
);
$key = 'id';
$result = assoc_unique($aa, $key);
print_r($result);
?>

显示结果为:

Array ( [0] => Array ( [shopId] => 1 ) [1] => Array ( [shopId] => 2 ))

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具:
http://tools.3water.com/code/quchong

在线文本去重复工具:
http://tools.3water.com/aideddesign/txt_quchong

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

PHP 相关文章推荐
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
php array_merge下进行数组合并的代码
Jul 22 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP 简单数组排序实现代码
Aug 05 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
Feb 12 PHP
PHP匿名函数(闭包函数)详解
Mar 22 PHP
php模拟实现斗地主发牌
Apr 22 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 #PHP
yii2安装详细流程
May 23 #PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 #PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 #PHP
PHP工厂模式简单实现方法示例
May 23 #PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 #PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 #PHP
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
python删除过期文件的方法
2015/05/29 Python
python检测是文件还是目录的方法
2015/07/03 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
实习教师自我鉴定
2013/09/27 职场文书
学校班班通实施方案
2014/06/11 职场文书
励志演讲稿200字
2014/08/21 职场文书
卖房授权委托书样本
2014/10/05 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
情人节活动总结范文
2015/02/05 职场文书
统计员岗位职责范本
2015/04/14 职场文书
表扬信范文
2015/05/04 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python