php去除重复数据的方法:1、利用“array_unique”函数直接将一个数组中的重复的值去除;2、利用“array_flip”函数和“array_keys”函数一起实现去除重复数据。

两种PHP中去除数组中重复数据的方法

1.直接利用array_unique函数

利用array_unique函数可以直接将一个数组中的重复的值去除,只保留重复值中的第一次出现的值和其对应的键值

具体的说明可以查看PHP手册

例1:$input = array("a" => "green", "red", "b" => "green", "blue", "red");

$result = array_unique($input);

print_r($result);

此时输出:

Array

(

[a] => green

[0] => red

[1] => blue

)

注意:在array_unique函数中,若出现 int(3) 和 string(1) '3' 时,函数会将这两个值认成同一个值,也只会保留先出现那个值

例2:$input = array(4, "4", "3", 4, 3, "3");

$result = array_unique($input);

var_dump($result);

此时会输出:array(2) {

[0] => int(4)

[2] => string(1) "3"

}

2.利用array_flip函数和array_keys函数一起作用

在利用array_unique函数是非常的方便,但是有一点,array_unique函数不会改变保留下来的值得原先的键值,这对于在某些情况下对于新数组的操作带来了困难,此时就可以利用array_flip函数和array_keys函数

array_flip函数

将指定数组的值和键值对调,将键名变成了值,而原先数组中的值成了键名,并且如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

例如:$trans = array("a" => 1, "b" => 1, "c" => 2);

$trans = array_flip($trans);

print_r($trans);

此时输出:Array

(

[1] => b

[2] => c

)

array_keys函数

array_keys函数,可以返回数组中部分的或所有的键名,这个比较好理解,如果指定了serch_value则是返回指定查询值的键值

例如:$array = array(0 => 100, "color" => "red");

print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");

print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),

"size" => array("small", "medium", "large"));

print_r(array_keys($array));

此时会输出:Array

(

[0] => 0

[1] => color

)

Array

(

[0] => 0

[1] => 3

[2] => 4

)

Array

(

[0] => color

[1] => size

)

介绍完两个函数的使用后,在遇到一个数据重复很多的数组时,想剔除中间重复的数据而又想键值从 ‘0’ 开始计数时,可以先对函数使用array_flip函数,然后在对新的数组使用array_keys函数,即可实现

补充:在编辑介绍array_keys函数的时候突然想到应该有个函数可以取出所有的数组的value的,查了一下果然有array_value函数,这个函数可以返回一个数组的所有的值并记录进新的数组,这样也可以实现键值从 ‘0’ 开始计数,所以想实现本篇文章的目的也可以先使用array_unique函数,接着对其使用array_value函数。

php如何去重,php如何去除重复数据相关推荐

  1. java双重循环去重_java List去除重复数据实现

    作者:多纤果冻 blog.csdn.net/qq_37939251/article/details/90713643 注:参照的文章完成的是int类型去重. String 类型基本一致,我完成的dem ...

  2. execl筛选去重_excel表格如何去除重复数据进行筛选

    原标题:"Excel表格如何去除重复数据"的相关路由器设置教程资料分享.- 来源:191路由网. 我们有时候会遇到这样的一个情况,一些数据里面有一些重复的,我们想去除这些重复的数据 ...

  3. execl筛选去重_EXCEL之--巧用公式+筛选去除重复数据

    平时除了vlookup(点击查看详解)外,恐怕被问起最多的就属去除重复数据了,重复数据产生的原因很多种,录入重复 .数据合并后重复等等.最后的数据形式就是有一个关键字重复或者整行数据都有重复.整行重复 ...

  4. java 两个数组去重复数据_Java实现数组去除重复数据的方法详解

    本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现, ...

  5. mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)

    关于mysql数据库在没有主键情况下去除重复数据办法 约定 表名:mat 根据 cat 字段去重 新增加主键为 id 步骤 1.为mat新增一列自增主键 alter table mat add col ...

  6. linux列表去重复数据,Linux常用去除重复数据口令

    一.uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  7. mysql中如何去除重复数据_MySQL如何去除重复数据?

    这篇文章主要介绍了MySQL 去除重复数据实例详解的相关资料,需要的朋友可以参考下 MySQL 去除重复数据实例详解 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均都重复,二是部分字段重复 ...

  8. Python_Dataframe_去除重复数据

    去除重复数据--drop_duplicates 去除指定单列或多列中的完全重复的项通过drop_duplicates()函数实现,需要利用Pandas包. 其中: 1.subset=[] 表示整个da ...

  9. Flink 去除重复数据 重复数据处理

    Flink 去除重复数据 重复数据处理 方式一:流转表 // 计算iopvSingleOutputStreamOperator<FundIopvIndicators> streamOper ...

最新文章

  1. 利用隐藏神经元解决异或问题的小型示例程序
  2. 堆栈——Windows核心编程学习手札之十八
  3. linux脚本--输出占用内存最多的进程ID
  4. 电路邱关源第五版pdf_硬件狗教你学电路【二】:电路分析方法
  5. 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
  6. WriteN, RTMP send error
  7. C# 繁体,简体 互转
  8. 你真的理解BIO、NIO、AIO的区别吗?
  9. 【题解】CF#403 D-Beautiful Pairs of Numbers
  10. C++中函数指针数组的使用
  11. 理解Netty中的Zero-copy
  12. 【图像处理】基于matlab GUI图像滤镜(马赛克+蓝色透镜+素描)【含Matlab源码 1145期】
  13. intellij idea 主题下载网站
  14. STM8S103系列IO口模拟串口通信(实现真正串口)
  15. 用Java简单实现验证码功能以及校验
  16. database link问题解决
  17. 阿里云总监课,存储系统设计——NVMe SSD性能影响因素一探究竟
  18. 朴素贝叶斯算法系列:多项式贝叶斯、高斯贝叶斯、伯努利贝叶斯
  19. NOIP2016提高组初赛难点整理
  20. java编写抖音上图片转文字的程序

热门文章

  1. CSS3各种手型样式集合
  2. python爬虫,python学习,如何用python爬取视频资源
  3. 如何快速查询京东快递物流正在派送中的单号
  4. 高数——隐函数与参数方程求导
  5. 歌词制作软件C#实现
  6. jetty9 Form too large 异常解决方案
  7. 【IoT】物联网NB-IoT之电信物联网开放平台对接流程浅析
  8. 因测试和登录软件微信被封,淘客必须注意,微信封号原则是什么?
  9. 音乐播放器制作 (HTML + CSS + JavaScript)
  10. 关于阻止迅雷上传,带慢计算机的工具