Maison  >  Article  >  programmation quotidienne  >  Comment supprimer les éléments en double dans un tableau à deux dimensions en PHP ? (Photos, texte + vidéo)

Comment supprimer les éléments en double dans un tableau à deux dimensions en PHP ? (Photos, texte + vidéo)

藏色散人
藏色散人original
2018-10-10 13:58:115516parcourir

Cet article vous présente principalement la méthode d'implémentation spécifique de suppression des éléments en double dans un tableau à deux dimensions en PHP !

Dans l'article précédent [Comment supprimer les éléments en double dans un tableau en PHP ? ] vous a déjà présenté la méthode de suppression des tableaux unidimensionnels ordinaires en PHP. Les amis qui en ont besoin peuvent s'y référer en premier.

Pour faire simple, un tableau à deux dimensions est un tableau de tableaux. Vous avez besoin de deux index pour sélectionner des éléments.

Ci-dessous, nous utilisons des exemples de code spécifiques pour présenter en détail la méthode de suppression des éléments en double dans un tableau à deux dimensions !

<?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 = [
    [&#39;name&#39; => &#39;张三&#39;, &#39;age&#39; => 18],
    [&#39;name&#39; => &#39;Tom&#39;, &#39;age&#39; => 19],
    [&#39;name&#39; => &#39;Tom&#39;, &#39;age&#39; => 19],
    [&#39;name&#39; => &#39;张三&#39;, &#39;age&#39; => 50],
    [&#39;name&#39; => &#39;王小二&#39;, &#39;age&#39; => 30],
];
echo "<pre class="brush:php;toolbar:false">";
print_r(more_array_unique($arr));

Dans ce code, nous définissons un tableau bidimensionnel de $arr, qui comporte deux paires d'éléments répétés, "Zhang San" et "Tom", mais leurs âges sont différents.

Tout le monde doit savoir que la fonction array_unique() ne s'applique qu'aux tableaux unidimensionnels, donc pour les tableaux bidimensionnels, nous devons définir nous-mêmes une méthode de fonction, mais la fonction array_unique() peut également être utilisée.

Comme dans l'exemple de code ci-dessus, nous avons défini la méthode more_array_unique pour supprimer les éléments en double dans un tableau bidimensionnel.

Remarque :

la fonction join est un alias de cette fonction : implode().

fonction array_combine : signifie créer un tableau, en utilisant la valeur d'un tableau comme nom de clé et la valeur d'un autre tableau comme valeur

fonction array_unique : supprimer Le tableau Valeurs en double dans .

Enfin accessible via le navigateur, le résultat de la suppression des éléments en double du tableau bidimensionnel est le suivant :

Comment supprimer les éléments en double dans un tableau à deux dimensions en PHP ? (Photos, texte + vidéo)

Comme le montre la figure, nous utilisons la méthode personnalisée more_array_unique, supprimons les éléments complètement en double d'un tableau bidimensionnel tout en conservant les informations utiles.

Cet article concerne la méthode spécifique de suppression des éléments en double dans un tableau à deux dimensions en PHP. J'espère qu'il sera utile aux amis dans le besoin !

Si vous souhaitez en savoir plus sur PHP, vous pouvez suivre le site Web PHP chinois Tutoriel vidéo PHP, tout le monde est invité à s'y référer et à apprendre !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn