php去除数组重复数据,php数组去重函数

如何正确实现PHP删除数组重复元素

array_unique

成都创新互联是专业的隆尧网站建设公司,隆尧接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行隆尧网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

(PHP 4 = 4.0.1, PHP 5, PHP 7)

array_unique — 移除数组中重复的值

说明

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

array_unique() 接受 array 作为输入并返回没有重复值的新数组。

注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。

Note: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。 第一个单元将被保留。

参数

array

输入的数组。

sort_flags

The optional second parameter sort_flags may be used to modify the sorting behavior using these values:

Sorting type flags:

SORT_REGULAR - compare items normally (don't change types)

SORT_NUMERIC - compare items numerically

SORT_STRING - compare items as strings

SORT_LOCALE_STRING - compare items as strings, based on the current locale.

返回值

Returns the filtered array.

更新日志

版本

说明

5.2.10 Changed the default value of sort_flags back to SORT_STRING.

5.2.9 Added the optional sort_flags defaulting to SORT_REGULAR. Prior to 5.2.9, this function used to sort the array with SORT_STRING internally.

范例

Example #1 array_unique() 例子

?php

$input = array("a" = "green", "red", "b" = "green", "blue", "red");

$result = array_unique($input);

print_r($result);

?

以上例程会输出:

Array

(

[a] = green

[0] = red

[1] = blue

)

Example #2 array_unique() 和类型

?php

$input = array(4, "4", "3", 4, 3, "3");

$result = array_unique($input);

var_dump($result);

?

以上例程会输出:

array(2) {

[0] = int(4)

[2] = string(1) "3"

}

参见

array_count_values() - 统计数组中所有的值出现的次数

注释

Note: Note that array_unique() is not intended to work on multi dimensional arrays.

php 去掉完全相同的重复数组

一、这个没有被合并,只是取的后面这个键名的值,

二、$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");

$result

=

array_unique

($input);

print_r($result);

输出的结果:Array

(

[11]

=

aaada

[22]

=

bbbb

[33]

=

cccc

[44]

=

cccc1

)

键名33

55

的值完全一样的时候,后者会被干掉

如果你要的是键名和值完全一致的时候才删除一个的话,似乎不能,因为键名是不允许重复的

听你的情况似乎数据量很大,建议你使用

array_flip()函数

【php中,删除数组中重复元素有一个可用的函数,那就是array_unique(),

但是它并不是一个最高效的方法,使用array_flip()函数将比array_uniqure()在速度上高出五倍左右。】

例子:$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");

$arr1

=

array_flip(array_flip($input));

print_r($arr1);

输出的结果:Array

(

[11]

=

aaada

[22]

=

bbbb

[55]

=

cccc

[44]

=

cccc1

)

php数组怎么去除重复的数组值

array_unique() 函数定义和用法

移除数组中的重复的值,并返回结果数组。

当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

返回的数组中键名不变。

例子

?php

$a=array("a"="Cat","b"="Dog","c"="Cat");

print_r(array_unique($a));

?

输出:Array ( [a] = Cat [b] = Dog )


名称栏目:php去除数组重复数据,php数组去重函数
标题链接:http://hbruida.cn/article/dsgcojc.html