在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐。 本文以二维数组去重为引,介绍array_column函数的三种用法。 以下是本人常用的去重方法: 以指定字段为索引,自然会把索引字段中重复的值覆盖掉, 然后在去除关联索引就可以了 //array_column第一种用法,以指定字段为索引
上述是一个二维数组,我们需要把相同 id 的记录去掉,即一个ID只保留一条记录;只使用第三个参数试验, $data = array_column($data, NULL, 'id'); //以ID为索引 $data = array_values($data); //去除关联索引 OK,去重完成,此时$data数据如下:五条记录变为四条 $data= array( array('id' => 123, 'name' => '张三'), array('id' => 124, 'name' => '王五'), array('id' => 125, 'name' => '赵六'), array('id' => 126, 'name' => '赵六') ); 另外,讲下第二个参数,代表需要保留的(单)列,下面我们将使用第二个参数,而不使用第三个参数。 array_column第二种用法: $data = array_column($data, 'name'); 此时二维数组只保留 name 字段,id字段被删除,数据如下: $data= array( array('name' => '张三'), array('name' => '李四'), array('name' => '王五'), array('name' => '赵六'), array('name' => '赵六') ); array_column的第三种用法, 三个参数全部使用: 用来构造 'id' => 'name' 形式的数据 $data = array_column($data, 'name', 'id'); 此时数据如下:此时ID重复的也被剔除了,前面的被覆盖。 $data = array( '123' => '李四', '124' => '王五', '125' => '赵六', '126' => '赵六' ); see you ~
|
2022-08-30
2022-08-17
2022-11-06
2022-08-17
2022-08-15
请发表评论