php 二维数组去重的实例学习

发布时间:2020-04-10编辑:脚本学堂
本文介绍下,php二维数组去重的实例代码,学习下php中去除二维数组中重复值的方法,有需要的朋友参考下。

本节内容:
php 二维数组去重

例子:
 

复制代码 代码示例:
<?php
/**
*  说明:二维数组去重
*
*  @param    array2D    要处理二维数组
*  @param    stkeep     是否保留一级数组键值(默认不保留)
*  @param    ndformat   是否保留二级数组键值(默认保留)
*
*  @return   output     返回去重后的数组
*  @site www.jb200.com
*/
function unique_arr($array2D,$stkeep=false,$ndformat=true){
 if($stkeep){    //一级数组键可以为非数字
     $stArr = array_keys($array2D);
 }
 if($ndformat){   //二级数组键必须相同
     $ndArr = array_keys(end($array2D));
 }
 foreach ($array2D as $v){  //降维
  $v = join(",",$v);
  $temp[] = $v;
 }
 $temp = array_unique($temp);
 foreach ($temp as $k => $v){  //数组重新组合
  if($stkeep){
      $k = $stArr[$k];
  }
  if($ndformat){
   $tempArr = explode(",",$v);
   foreach($tempArr as $ndkey => $ndval){
       $output[$k][$ndArr[$ndkey]] = $ndval;
   }
  }else{
      $output[$k] = explode(",",$v);
  }
 }
 return $output;
}

另外一种方法,这里也介绍下:
php中 array_flip()【返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失】
例如:
 

复制代码 代码示例:
<?php
$arr = array("a" =>a, "b" =>b, "c"=>a);
$arr = array_flip(array_flip($arr));
print_r($arr);
 

如上的代码,也是可以实现二维数组的去重的。

您可能感兴趣的文章:
php三维数组去重的简单例子
PHP二维数组去重的实例解析
php数组去重的函数代码示例
php数组去重(一维、二维数组去重)的简单示例
php 数组去重的方法参考(一维数组去重、二维数组去重)
php 二维数组去重的自定义函数
php数组去重的小例子