Le contenu de cet article est de présenter comment supprimer les doublons des tableaux bidimensionnels en PHP ? (Exemple de code), laissez tout le monde comprendre la méthode de déduplication des tableaux bidimensionnels. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Préface : La déduplication de tableaux unidimensionnels PHP est très simple, il suffit de array_unique ($arr), mais comment dédupliquer des tableaux bidimensionnels ?
Jetons un coup d'œil à la méthode de déduplication des tableaux bidimensionnels à travers un exemple de code simple :
Exemple de code :
/* * 二维数组去重 * 注意:二维数组中的元素个数必须一致,且键值也得一致,否则无意义 * @param array $arr * @return array $arr_after */ public function array_unique_2DArr($arr=array()){ if(empty($arr) || !is_array($arr)){ return array(); } /*******处理二维数组个数不一致问题 start 其他项目用可以去掉*******/ //判断数组中二维数组是否包含uniqueId,存在的话需要处理其他的日志信息,全部加上uniqueId,且uniqueId值必须相同 $hasUniqueId = false; foreach($arr as $val){ if(array_key_exists('uniqueId', $val)){ $hasUniqueId = true; break; } } //如果$arr中的二维数组中uniqueId存在,则其他也增加 if($hasUniqueId){ foreach($arr as $_k=>$_val){ if(!array_key_exists('uniqueId', $_val)){ //在$_val中增加unique,只是为了和其他的带有uniqueId键值的数组元素个数保持一致 $_val_keys = array_keys($_val); $_val_vals = array_values($_val); array_unshift($_val_keys, 'uniqueId'); array_unshift($_val_vals, '0_0'); $arr[$_k] = array_combine($_val_keys, $_val_vals); } } } /********处理二维数组个数不一致问题 end********/ foreach($arr[0] as $k => $v){ $arr_inner_key[]= $k; //先把二维数组中的内层数组的键值记录在在一维数组中 } foreach ($arr as $k => $v){ $v =join("^",$v); //降维 用implode()也行 ,注意,拆分时不能用逗号,用其他的不常用符号,逗号可能会由于数据本身含有逗号导致失败 $temp[$k] =$v; //保留原来的键值 } $temp =array_unique($temp); //去重:去掉重复的字符串 foreach ($temp as $k => $v){ $a = explode("^",$v); //拆分后的重组 $arr_after[$k]= array_combine($arr_inner_key,$a); //将原来的键与值重新合并 } return $arr_after; }
Résumé : C'est tout pour cet article J'espère que l'ensemble du contenu sera utile à l'étude de chacun. Tutoriels vidéo connexes recommandés : tutoriel php !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!