程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php去除二維數組的重復項方法

php去除二維數組的重復項方法

編輯:PHP綜合

php中去一維數組的重復項可以通過php內置函數array_unique(),但是php的array_unique函數對多維數組並不適用,怎麼才能去除二維數組中的重復項呢?

以下給大家提供一個函數。

//二維數組去掉重復值
function unique_arr($array2D,$stkeep=false,$ndformat=true){
  $joinstr='+++++';
  // 判斷是否保留一級數組鍵 (一級數組鍵可以為非數字)
  if($stkeep) $stArr = array_keys($array2D);
  // 判斷是否保留二級數組鍵 (所有二級數組鍵必須相同)
  if($ndformat) $ndArr = array_keys(end($array2D));
  //降維,也可以用implode,將一維數組轉換為用逗號連接的字符串
  foreach ($array2D as $v){
    $v = join($joinstr,$v);
    $temp[] = $v;
  }
  //去掉重復的字符串,也就是重復的一維數組
  $temp = array_unique($temp);
  //再將拆開的數組重新組裝
  foreach ($temp as $k => $v){
    if($stkeep) $k = $stArr[$k];
    if($ndformat){
      $tempArr = explode($joinstr,$v);
      foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
    }
    else $output[$k] = explode($joinstr,$v);
  }
  return $output;
}

希望對大家學習php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved