> php教程 > php手册 > PHP获取数组中重复的元素实例教程

PHP获取数组中重复的元素实例教程

WBOY
풀어 주다: 2016-06-13 11:32:50
원래의
1435명이 탐색했습니다.

   1.获取一个数组中重复的元素。代码如下:

  a.方法一:

代码如下  

function array_repeat($arr)
{
if(!is_array($arr)) return $arr;

$arr1 = array_count_values($arr);

$newArr = array();

foreach($arr1 as $k=>$v)
{
if($v>1) array_push($newArr,$k);
}
return $newArr;
}

  b.方法二:

代码如下  

function array_repeat($arr)
{
if(!is_array($arr)) return $arr;

$arr1 = array_unique($arr);

$arr3 = array_diff_key($arr,$arr1);

return array_unique($arr3);
}

  测试方法

代码如下  

$arr = array('apple','blue','red','banana','pear','apple','blue','color','color');
print_r(array_repeat($arr));

结果: Array ( [5] => apple [6] => blue [8] => color )

  后来代一些删除数组重复元素的方法

  array_keys函数来删除数组重复元素。

  */

代码如下  

$a=array("red", "green", "blue", "yellow");
count($a); //得到4
unset($a[1]); //删除第二个元素
count($a); //得到3
echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
echo $a[1]; //无值

//array array_splice (array input, int offset [, int length [, array replacement]])
//array_splice()其实是替换数组元素的函数,但如果不加替换值就简单的删除元素.下面是array_splice()的用法:
$b=array("red", "green", "blue", "yellow");
array_splice($a,1,1);

  //下面看一个比较全面的删除重复值并且删除指定的数组元素

代码如下  

$array1 = array(1 => "www.45it.net", 2 => "菠萝", 4 => "www.45it.net",3 => "香蕉",4 => "芭乐",5 => "www.45it.net",6 => "www.45it.net");

$search_keys = array_keys($array1, "www.45it.net");

foreach($search_keys as $key) {
unset($array1[$key]);
}

print_r($array1);

/*
得到结果
array ( [2] => 菠萝 [4] => 芭乐 [3] => 香蕉 )
*/

//删除数组中重复元素的函数
function delmember(&$array, $id)
{
$size = count($array);
for($i = 0; $i {
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿