牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP 二维数组去重 保留键值

创建时间:2015-11-12 投稿人: 浏览次数:132

正好用到,百度到了一段代码,改了改,不用自己输入第二维数组的索引了.


$data[] = array("volume" => 11, "edition" => 11);
$data[] = array("volume" => 11, "edition" => 11);
$data[] = array("volume" => 85, "edition" => 6);
$data[] = array("volume" => 98, "edition" => 2);
$data[] = array("volume" => 86, "edition" => 6);
$data[] = array("volume" => 67, "edition" => 7);


$data = array_unique_fb($data, array_keys($data[0]));

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


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。