获取一个数组中重复的元素代码如下:
a方法一:
代码如下
function array_repeat($arr)
{
if(!is_array($arr)) return $arr;
$arr = array_count_values($arr);
$newArr = array();
foreach($arr as $k=>$v)
{
if($v>) array_push($newArr$k);
}
return $newArr;
}
b方法二:
代码如下
function array_repeat($arr)
{
if(!is_array($arr)) return $arr;
$arr = array_unique($arr);
$arr = array_diff_key($arr$arr);
return array_unique($arr);
}
测试方法
代码如下
$arr = array(appleblueredbananapearapplebluecolorcolor);
print_r(array_repeat($arr));
结果: Array ( [] => apple [] => blue [] => color )
后来代一些删除数组重复元素的方法
array_keys函数来删除数组重复元素
*/
代码如下
$a=array("red" "green" "blue" "yellow");
count($a); //得到
unset($a[]); //删除第二个元素
count($a); //得到
echo $a[]; //数组中仅有三个元素本想得到最后一个元素但却得到blue
echo $a[]; //无值
//array array_splice (array input int offset [ int length [ array replacement]])
//array_splice()其实是替换数组元素的函数但如果不加替换值就简单的删除元素下面是array_splice()的用法:
$b=array("red" "green" "blue" "yellow");
array_splice($a);
//下面看一个比较全面的删除重复值并且删除指定的数组元素
代码如下
$array = array( => "wwwitnet" => "菠萝" => "wwwitnet" => "香蕉" => "芭乐" => "wwwitnet" => "wwwitnet");
$search_keys = array_keys($array "wwwitnet");
foreach($search_keys as $key) {
unset($array[$key]);
}
print_r($array);
/*
得到结果
array ( [] => 菠萝 [] => 芭乐 [] => 香蕉 )
*/
//删除数组中重复元素的函数
function delmember(&$array $id)
{
$size = count($array);
for($i = ; $i <$size $id ; $i ++)
{
$array[$id + $i] = $array[$id + $i + ];
}
unset($array[$size ]);
}