php下判断数组中是否存在相同的值array_unique
作者:
今天在改一个N久以前写的程序 突然碰到一个问题
假设有一个数组$a中存在几个value 我如何判断这些value当中是否存在相同的值呢?
翻了好多资料,也问了兵哥哥,给我一些思路,想自己写来着~~~
还是不肯放弃百度,最后搞了一次,居然找到这么一个函数
array_unique爽大了。
array_unique(PHP 4 >= 4.0.1, PHP 5)
array_unique -- 移除数组中重复的值
说明
array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子 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
)
例子 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_unique -- 移除数组中重复的值
说明
array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子 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
)
例子 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"
}