萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP獲取數組中重復的元素實例教程

PHP獲取數組中重復的元素實例教程

   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]);
}

copyright © 萬盛學電腦網 all rights reserved