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