htbzwd 发表于 2018-12-22 11:07:27

php 去掉二维数组

  自己写的:

      /**
* 二维数组去重
* @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] = $arr_b;
}
$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;  如有意见,请留言。




页: [1]
查看完整版本: php 去掉二维数组