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 的时候, 会被去除一个

你可能感兴趣的:(php 多维数组去重)