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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
php 面向对象的一个例子
Apr 12 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
在PHP中使用redis
Nov 04 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
php编写的一个E-mail验证类
Mar 25 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
Dec 31 PHP
PHP explode()函数用法讲解
Feb 15 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
php实例分享之二维数组排序
2014/05/15 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
jquery easyui使用心得
2014/07/07 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
node.js的事件机制
2017/02/08 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
vue模式history下在iis中配置流程
2019/04/17 Javascript
深入了解js原型模式
2019/05/30 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
python 基于wx实现音乐播放
2020/11/24 Python
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
协议书与合同的区别
2014/04/18 职场文书
地陪导游欢迎词
2015/01/26 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫