欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

二维数组array去除重复值和array_unique函数

shiping1 的头像

对于一维数组去除重复值的方法,是可以直接使用php系统函数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;
}

来自 http://www.phpernote.com/php-function/516.html

//下面是自己亲自做的  好像还是不通用 要做的时候 只能在里面进行修改
function array_unique_fb($array2D){  
	foreach ($array2D as $k=>$v){
		$v=join(',',$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
		//$temp[]=$v;
                $temp[$k]=$v;
	}
	$temp=array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
	foreach ($temp as $k => $v){
		$temp[$k]=explode(',',$v);//再将拆开的数组重新组装
	}
	return $temp;
}



//下面是自己亲自做的  好像还是不通用 要做的时候 只能在里面进行修改function _array_unique_fb($array2D){  
    foreach ($array2D as $key=>$v){
        $v=join(',',$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
        $temp[$key]=$v;
    }
    $temp=array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v){
        $tempArr =explode(',',$v);
        $tempArr = array_flip($tempArr);
        foreach($tempArr as $key=>$value){
            $tempArr[$key]=$key;
        }
        $temp[$k]=$tempArr;//再将拆开的数组重新组装
    }
    return $temp;
}

普通分类: