加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP二维数组实现去除一再项的要领【保存各个键值】

发布时间:2021-03-30 22:34:20 所属栏目:编程 来源:网络整理
导读:本篇章节讲授PHP二维数组实现去除一再项的要领。供各人参考研究详细如下: 对付如下二维数组,要求对其举办去重: array( 'name

本篇章节讲授PHP二维数组实现去除一再项的要领。分享给各人供各人参考,详细如下:

对付如下二维数组,要求对其举办去重:

array( 'name'=>'james','age'=>30,),'1'=>array( 'name'=>'susu','age'=>26,'2'=>array( 'name'=>'james','new'=>array( 'name'=>'kube','age'=>37,'list'=>array( 'name'=>'kube','age'=>27,);

1、 二维数组内部的一维数组中的值不能完全沟通,删除个中一再的项:

代码如下:

array( 'name'=>'james',); printf("Before tranform the array:
"); //输出原本的数组 print_r($arr); echo "
"; function more_array_unique($arr=array()){ foreach($arr[0] as $k => $v){ $arr_inner_key[]= $k; //先把二维数组中的内层数组的键值记录在在一维数组中 } foreach ($arras $k => $v){ $v =join(",",$v); //降维 用implode()也行 $temp[$k] =$v; //保存原本的键值 $temp[]即为不保存原本键值 } printf("After split the array:
"); print_r($temp); //输出拆分后的数组 echo"
"; $temp =array_unique($temp); //去重:去掉一再的字符串 foreach ($tempas $k => $v){ $a = explode(",$v); //拆分后的重组 如:Array( [0] => james [1] => 30 ) $arr_after[$k]= array_combine($arr_inner_key,$a); //将原本的键与值从头归并 } //ksort($arr_after);//排序如必要:ksort对数组举办排序(保存原键值key),sort为不保存key值 return$arr_after; } $arr_new = more_array_unique($arr); //挪用去重函数 printf("Duplicate removal of the array:
"); print_r($arr_new); echo "
"; ?>

输出功效:

Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [2] => Array ( [name] => james [age]=> 30 ) [new] => Array ( [name] => kube [age] => 37 ) [list] =>Array ( [name] => kube [age] => 27 ) ) After split the array: //拆分后数组 Array ( [0] => james,30 [1] => susu,26 [2] => james,30 [new] =>kube,37 [list] => kube,27 ) Duplicate removal of thearray: //去重后数组 Array ( [0] => Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [new] => Array ( [name] => kube [age]=> 37 ) [list] => Array ( [name] => kube [age] => 27 ) )

2、 二维数组内部的一维数组因某一个键值不能沟通,删除一再项:

针对某一个键值来举办去重

$v) { if(in_array($v[$key],$tmp_arr)) //搜刮$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr[$k]); //烧毁一个变量 假如$tmp_arr中已存在沟通的值就删除该值 } else { $tmp_arr[$k] = $v[$key]; //将差异的值放在该数组中生涯 } } //ksort($arr); //ksort函数对数组举办排序(保存原键值key) sort为不保存key值 return $arr; } $key ='name'; $arr_key = second_array_unique_bykey($arr,$key); printf("As for the givenkey->%s:
",$key); print_r($arr_key); echo "
"; ?>

输出功效:

name: Array ( [0] => Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [new] => Array ( [name] => kube [age]=> 37 ) )

PS:本站尚有两款较量简质朴用的在线文本去一再器材,保举给各人行使:

在线去除一再项器材:

在线文本去一再器材:

更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》

但愿本文所述对各人PHP措施计划有所辅佐。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读