本篇文章主要给人人引见

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 " 
 
";
 
 
print_r(more_array_unique($arr));

在此段代码中,我们定义了一个$arr的二维数组,其中有两对反复元素,“张三”和“Tom”,然则他们的岁数有所不同。

人人应当都晓得array_unique()函数只适用于一维数组,那末二维数组就须要我们本身定义一个函数要领,不过也能够用到array_unique()函数。

如上述代码示例中,我们定义了more_array_unique的要领,用来完成删除二维数组中反复元素。

注:

join函数是该函数的别号:implode()。

array_combine函数:示意建立一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_unique 函数:移除数组中反复的值。

终究经由过程浏览器接见,删除二维数组反复元素效果如下图:

python清除二维数组中空白的元素 二维数组删除指定元素_php循环二维数组删除当前元素

如图所示,我们经由过程自定义的more_array_unique要领,将二维数组中完整反复的元素去撤除,而且保存了有效的信息。

本篇文章就是关于PHP删除二维数组中的反复元素的细致要领引见,愿望对须要的朋侪有所协助!

以上就是PHP怎样删除二维数组中的反复元素?(图文+视频)的细致内容,