PHP二維數組去重

function unique_arr($array2D,$stkeep=false,$ndformat=true)
{
	// 判斷是否保留一級數組鍵 (一級數組鍵可以爲非數字)
	if($stkeep) $stArr = array_keys($array2D);

	// 判斷是否保留二級數組鍵 (所有二級數組鍵必須相同)
	if($ndformat) $ndArr = array_keys(end($array2D));

	//降維,也可以用implode,將一維數組轉換爲用逗號連接的字符串
	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;
}



原文鏈接:http://blog.jiujiu.vc/52.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章