您现在的位置是:网站首页> php专栏 常见问题

php面试题-数组去重问题

亦然2019-04-03 00:40:10常见问题人已围观

简介很早面试的时候遇到的一道数组题,觉得挺有趣的,拿出来分享一下!

1.面试题

 解题思路:首先这是一个多维关联数组,很明显就是需要去除重复的元素。      

方法1:把多维函数转为一维函数,使用php内置函数array_unique()去掉重复的值,再转为php值


 function super_unique($array) { 
       // 序列化数组元素,去除重复 
      $result = array_map(\'unserialize\',array_unique(array_map(\'serialize\', $array))); 
      return $result; 
} 
var_dump(super_unique($arr)); 
php


方法2: 


function array_unique2($arr){
$new_arr = array();
foreach ($arr as $key => $v) {
        $v = join(",", $v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
        $temp[] = $v;
    }
    $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组

    foreach ($temp as $k => $v) {
         $temp[$k] = explode(",", $v); //再将拆开的数组重新组装
         array_push($new_arr, $temp[$k]);
    }
return  $new_arr;
}
php


很赞哦!()

上一篇: 这已经是第一篇了!

下一篇:api接口限制访问

亦然

亦然(共32篇文章)

愿你我既可以朝九晚五,也可以浪迹天涯;愿你我既可以拈花把酒,也能围炉诗书茶。