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+oracle 分页类
Oct 09 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php 强制下载文件实现代码
Oct 28 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 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
收音机的保养
2021/03/01 无线电
NOT NULL 和NULL
2007/01/15 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
Python2和3字符编码的区别知识点整理
2019/08/08 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
浅谈django channels 路由误导
2020/05/28 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
建筑设计所实习生自我鉴定
2013/09/25 职场文书
营销与策划专业求职信
2014/06/20 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
新学期开学寄语2016
2015/12/04 职场文书
MySQL索引失效场景及解决方案
2022/07/23 MySQL