php多维数组去重

时间:2021-01-22 19:01:46

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

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);
是不是很简单。