php多维数组去重

来源:互联网 发布:淘宝广告商品 编辑:程序博客网 时间:2024/06/16 21:57

说说数据例如我的数据格式:

Array(    [0] => Array        (            [0] => 武汉鸿飞汽车销售        )    [1] => Array        (            [0] => 湖北恩施瑞康4S店        )    [2] => Array        (            [0] => 驻马店润佳4S店        )    [3] => Array        (            [0] => 武汉鸿飞        )    [4] => Array        (            [0] =>  梧州野马汽贸店        )    [5] => Array        (            [0] => 烟台德润4S店        )    [6] => Array        (            [0] =>  武汉兴海4S店        )    [7] => Array        (            [0] => 武汉飞达汽车销售        )    [8] => Array        (
  [0] => 武汉飞达汽车销售
        )


)
就上面的数组可以看出"武汉飞达汽车销售”有两个怎么去掉重复的

很多人立马想到array_unique去重但是这个是只能处理一位数组,可能想到array_column转成一维数组

骚年太天真,根据这上面把数组写成这样我无力吐槽,竟然这样就要解决,有没有key值array_column不可能行的通,

可能还有一些人直接说万能的foreach呀。这个算是一个办法

下面肯定有人想到了array_filter但是发现怎么都实现不了,其实是对的,这时候数组关键在于key,所以要用到array_filter第三个参数,

具体实现如下:

$a=array_filter($array, function($k) use ($array) {    //第一次进来给k==0 为true通过,第二次进来k就为1了,这时候就可以去比较了    return $k==0 || $array[$k][0] != $array[$k-1][0];}, ARRAY_FILTER_USE_KEY);print_r($a);
是不是很简单。