本篇文章主要给大家介绍PHP删除二维数组中重复元素的具体实现方法!
在之前的文章【PHP怎么删除数组中重复元素?】中已经为大家介绍过PHP删除普通一维数组的方法,需要的朋友可以先参考学习下。
简单的说,二维数组也就是数组的数组,你需要两个索引来选取元素。
下面我们通过具体的代码示例,为大家详细介绍删除二维数组中重复元素的方法!
<?php /** * PHP删除二维数组中的重复元素 */ // 对二维数组进行去重复 function more_array_unique($arr) { //先把二维数组中的内层数组的键值记录在在一维数组中 foreach ($arr[0] as $k => $v) { $arr_inner_key[] = $k; } foreach ($arr as $k => $v) { //降维 用implode()也行 $v = join(",", $v); //保留原来的键值 $temp[]即为不保留原来键值 $temp[$k] = $v; } //去重:去掉重复的元素 $temp = array_unique($temp); foreach ($temp as $k => $v) { //拆分后的重组 如:Array( [0] => 张三 [1] => 18 ) $a = explode(",", $v); //将原来的键与值重新合并 $arr_after[$k] = array_combine($arr_inner_key, $a); } return $arr_after; } $arr = [ ['name' => '张三', 'age' => 18], ['name' => 'Tom', 'age' => 19], ['name' => 'Tom', 'age' => 19], ['name' => '张三', 'age' => 50], ['name' => '王小二', 'age' => 30], ]; echo "<pre class="brush:php;toolbar:false">"; print_r(more_array_unique($arr));
在此段代码中,我们定义了一个$arr的二维数组,其中有两对重复元素,“张三”和“Tom”,但是他们的年龄有所不同。
大家应该都知道array_unique()函数只适用于一维数组,那么二维数组就需要我们自己定义一个函数方法,不过也可以用到array_unique()函数。
如上述代码示例中,我们定义了more_array_unique的方法,用来实现删除二维数组中重复元素。
注:
join函数是该函数的别名:implode()。
array_combine函数:表示创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_unique 函数:移除数组中重复的值。
最终通过浏览器访问,删除二维数组重复元素结果如下图:
如图所示,我们通过自定义的more_array_unique方法,将二维数组中完全重复的元素去除掉,并且保留了有用的信息。
本篇文章就是关于PHP删除二维数组中的重复元素的具体方法介绍,希望对需要的朋友有所帮助!
想要了解更多PHP知识,大家可以关注PHP中文网PHP视频教程,欢迎大家参考学习!
以上是PHP怎么删除二维数组中的重复元素?(图文+视频)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

WebStorm Mac版
好用的JavaScript开发工具