我有一个这样的数组:
$names = array('John Doe','Marc','Rudolph', 'John Doe','Steve', 'Marc');
如何使用 PHP 删除重复的名称?
新数组必须是:
$names = array('John Doe','Marc','Rudolph','Steve');
这样做的功能已经是什么了。?
我有一个这样的数组:
$names = array('John Doe','Marc','Rudolph', 'John Doe','Steve', 'Marc');
如何使用 PHP 删除重复的名称?
新数组必须是:
$names = array('John Doe','Marc','Rudolph','Steve');
这样做的功能已经是什么了。?
始终首先检查 php.net 手册。
$names = array('John Doe','Marc','Rudolph', 'John Doe','Steve', 'Marc');
$names = array_unique($names);
使用array_unique()
:
$myArray = array(....);
$uniqueArray = array_unique( $myArray );
请参阅文档: http: //php.net/manual/en/function.array-unique.php
您可以使用array_unique
但请注意,这将not work
用于case sensitive array
诸如
$names = array('John Doe','Marc','Rudolph','John doe','Steve','Marc');
^-- Capital ^--Small
如果你跑
var_dump(array_unique($names));
输出
array
0 => string 'John Doe' (length=8)
1 => string 'Marc' (length=4)
2 => string 'Rudolph' (length=7)
3 => string 'John doe' (length=8)
4 => string 'Steve' (length=5
解决方案在检查它是否唯一之前将所有内容转换为相同的大小写
var_dump(arrayUnique($names));
输出
array
0 => string 'John Doe' (length=8)
1 => string 'Marc' (length=4)
2 => string 'Rudolph' (length=7)
4 => string 'Steve' (length=5)
使用的功能
function arrayUnique($array) {
return array_intersect_key($array, array_unique(array_map("strtolower", $array)));
}