手记

巧用递归解决多维数组去重【申请加精】

<?php 
function super_unique($array, $recursion = false){
    // 序列化数组元素,去除重复
      $result = array_map('unserialize', array_unique(array_map('serialize', $array))); 
   // 递归调用
    if ($recursion) {
        foreach ($result as $key => $value) {
            if (is_array($value)) {
                $result[ $key ] = super_unique($value);
           }
        }
    }
    return $result;
}

提示:递归处理的时候, 如果是关联数组并且有不同的 key 有相同的 value 的时候, 会被去除一个

2人推荐
随时随地看视频
慕课网APP