php多维数组去重

多维数组去重:

/**
 * 多维数组去重
 * @param  array  $arr [description]
 * @return [type]      [description]
 */
 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);
            }
        }
    }
    shuffle($result);
    return $result;
}

分享到: