21 Sep
php 去掉二维数组

Posted by moTzxx | 2021-09-21 22:44:28

自己写的:

    /**
	 * 二维数组去重
	 * @param 数组 $array
	 */
	function array_unique_fb($array)
	{
		foreach ($array as $key=>$v)
		{
			$str = '';
			foreach ($v as  $key_=>$v_){
				$str .= $key_.'@#$'.$v_.',';//键值拼接成以,分割字符串
			}
			$str = substr($str,0,-1);
	   		$temp[] = $str;//生成一维数字
	    }

		$temp = array_unique($temp);//去掉重复的字符串,也就是重复的一维数组

		foreach ($temp as $v)
		{
			$arr_a = explode(",",$v);
			//重新组数组
			foreach ($arr_a as  $arr_a_v){
				$arr_b = explode("@#$",$arr_a_v);
				$arr_d[$arr_b[0]] = $arr_b[1];
			}
			$temp_ [] = $arr_d;
	    }
	    return $temp_;
	}

牛人写的

$t = array_map('serialize', $array);//利用serialize()方法将数组转换为以字符串形式的一维数组
$t = array_unique($t);//去掉重复值
$new_arr = array_map('unserialize', $t);//然后将刚组建的一维数组转回为php值
return $new_arr;


Copyright © hooper 粤ICP备20006791号