王果子 发表于 2015-8-30 07:42:02

PHP二维数组去重复项函数

  PHP数组去除重复项有个内置函数array_unique(),但是php的array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数

//二维数组去掉重复值
function array_unique_fb($array2D){
   foreach ($array2D as $v){
         $v = join(",",$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
         $temp[] = $v;
   }
   $temp = array_unique($temp);    //去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v){
      $temp[$k] = explode(",",$v);   //再将拆开的数组重新组装
    }
    return $temp;
}

//二维数组去掉重复值并保留键值
function array_unique_fb($array2D){
    foreach ($array2D as $k=>$v){
      $v = join(",",$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[$k] = $v;
    }
$temp = array_unique($temp);    //去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v){
      $array=explode(",",$v);//再将拆开的数组重新组装
$temp2[$k]["id"] =$array;   
$temp2[$k]["litpic"] =$array;
$temp2[$k]["title"] =$array;
$temp2[$k]["address"] =$array;
$temp2[$k]["starttime"] =$array;
$temp2[$k]["endtime"] =$array;
$temp2[$k]["classid"] =$array;
$temp2[$k]["ename"] =$array;
}
    return $temp2;
}
页: [1]
查看完整版本: PHP二维数组去重复项函数