php通过指定字段去重二位数组

一.二维数组去掉重复的值在组装成新数组

function uniqueArr($key_v,$arr = array())
{
    if(empty($arr) || !is_array($arr))
    {
        return false;
    }
    $tmp = [];
    foreach ($arr as $key => $val)
    {
        $tmp[] = $val[$key_v];
    }
    $tmp = array_unique($tmp);
    $last_data = [];
    foreach ($tmp as $key => $val)
    {
        $last_data[] = $arr[$key];
    }
    return $last_data;
}

二.检查第三个数组变量是否存在该值

function uniqueArr($key_v,$arr = array())
{
    if(empty($arr) || !is_array($arr))
    {
        return false;
    }
    $tmp = [];
    foreach ($arr as $val)
    {
        if(isset($tmp[$val[$key_v]]))
        {
            unset($val[$key_v]);
        }
        else
        {
            $tmp[$val[$key_v]] = $val;
        }
    }
    return $tmp ;
}

注意:
上面两种方法最后得到的结果键值有所不同。

添加新评论