熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

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

2013-11-15 12:25:40  來源: PHP編程 

  獲取一個數組中重復的元素代碼如下:

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


From:http://tw.wingwit.com/Article/program/PHP/201311/20922.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.