PHP学习笔记–去除数组中的重复数据

栏目: PHP · 发布时间: 6年前

内容简介:PHP学习笔记–去除数组中的重复数据

在这总结两种 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函数。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你凭什么做好互联网

你凭什么做好互联网

曹政 / 中国友谊出版公司 / 2016-12 / 42.00元

为什么有人可以预见商机、超越景气,在不确定环境下表现更出色? 在规则之外,做好互联网,还有哪些关键秘诀? 当环境不给机会,你靠什么翻身? 本书为“互联网百晓生”曹政20多年互联网经验的总结,以严谨的逻辑思维分析个人与企业在互联网发展中的一些错误思想及做法,并给出正确解法。 从技术到商业如何实现,每个发展阶段需要匹配哪些能力、分解哪些目标、落实哪些策略都一一点出,并在......一起来看看 《你凭什么做好互联网》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具