PHP擷取數組中重複的元素執行個體教程

來源:互聯網
上載者:User

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.111cn.net", 2 => "菠蘿", 4 => "www.111cn.net",3 => "香蕉",4 => "芭樂",5 => "www.111cn.net",6 => "www.111cn.net");

$search_keys = array_keys($array1, "www.111cn.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 <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.