重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
array_unique
创新互联是一家专业提供鹿城企业网站建设,专注与成都做网站、成都网站建设、H5技术、小程序制作等业务。10年已为鹿城众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
(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.
这样的话,是有些麻烦啦,你得一项一项去比较才行,你先比较从2到9这几项的类型,然后再去比较每一项当中的数目,然后再比较每一项当中每一项的值是不是相同才行,比较相同要用“===”,而不是“==”,这一点得注意下;
一、这个没有被合并,只是取的后面这个键名的值,
二、$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页面上放一个删除数据库重复数据的功能按钮,就是使用PHP操作数据库删除重复数据的SQL语句,然后重新查询绑定输出。
如果是PHP操作数据库不明白的话,就找PHP操作数据库这篇内容来看。
如果是用SQL语句来删除数据库重复数据不明白的话就找SQL删除重复数据这方面的内容。
如果你要具体的实现代码,不好意思,帮不了你,这需要你自己找,自己实现。这是程序员必备的技能。