Maison >développement back-end >Problème PHP >Comment supprimer les valeurs en double d'un tableau tridimensionnel en PHP (trois méthodes)

Comment supprimer les valeurs en double d'un tableau tridimensionnel en PHP (trois méthodes)

PHPz
PHPzoriginal
2023-04-12 09:19:02890parcourir

PHP est un langage de programmation très populaire et largement utilisé pour le développement Web. Lors de l'écriture de programmes PHP, vous rencontrez souvent le besoin de traiter des tableaux multidimensionnels (également appelés tableaux multiples). Parfois, il y aura des éléments en double dans ces tableaux, ce qui causera des problèmes à notre programme. Cet article explique comment supprimer les valeurs en double d'un tableau tridimensionnel en PHP.

  1. Utiliser la méthode de parcours en boucle

Le moyen le plus courant de supprimer les valeurs en double d'un tableau consiste à utiliser une boucle pour parcourir chaque élément du tableau. Les étapes spécifiques sont les suivantes :

  • Parcourez chaque élément du tableau
  • Vérifiez si l'élément existe déjà dans un nouveau tableau
  • Sinon, ajoutez l'élément au nouveau tableau
  • S'il existe, ignorez cet élément

Ce qui suit est un exemple de code qui utilise la méthode de parcours en boucle pour supprimer les valeurs en double​​dans un tableau tridimensionnel :

function array_unique_multidim($array){
    $unique_array = array();
    foreach($array as $key => $value){
        if(!in_array($value, $unique_array)){ 
            $unique_array[$key] = $value;
        }
    }
    return $unique_array;
}

Ce code renverra un nouveau tableau sans éléments en double. Cette méthode peut gérer plusieurs tableaux de manière récursive. Cependant, cette méthode est plus lente et convient au traitement de petits tableaux.

  1. Utilisez la fonction array_unique()

La fonction array_unique() intégrée de PHP peut supprimer les valeurs en double​​dans le tableau, mais cette fonction ne peut être utilisée que pour les tableaux unidimensionnels. Pour les tableaux multidimensionnels, nous devons d'abord les convertir en tableaux unidimensionnels, puis utiliser cette fonction pour supprimer les doublons.

Ce qui suit est un exemple de code qui utilise la fonction array_unique() pour supprimer les valeurs en double d'un tableau :

function array_unique_multidim($array){
    $flatten_array = array_reduce($array, 'array_merge', array());
    $unique_array = array_unique($flatten_array);
    foreach($unique_array as $key => $value){
        if(is_array($value)){ 
            $unique_array[$key] = array_unique_multidim($value);
        }
    }
    return $unique_array;
}

Ce code renverra un nouveau tableau sans éléments en double. Cette méthode est plus rapide et plus simple et convient au traitement de grands tableaux.

  1. Spécifiez un index unique

Si nous avons une clé d'index qui représente une valeur unique dans le tableau, nous pouvons utiliser cette clé pour supprimer les valeurs en double. Les étapes spécifiques sont les suivantes :

  • Parcourir chaque élément du tableau
  • Vérifier si la clé unique de l'élément existe déjà dans un nouveau tableau
  • Si elle n'existe pas, ajouter l'élément au nouveau tableau
  • Si il existe, puis ignorez l'élément

Ce qui suit est un exemple de code qui utilise une clé d'index unique pour supprimer les valeurs en double d'un tableau :

function array_unique_multidim($array, $key){
    $unique_array = array();
    foreach($array as $value){
        if(!array_key_exists($value[$key], $unique_array)){
            $unique_array[$value[$key]] = $value;
        }
    }
    return $unique_array;
}

Ce code renverra un nouveau tableau sans éléments en double. Cette méthode est plus rapide et adaptée au traitement des tableaux qui doivent conserver des clés spécifiques.

En résumé, ces trois méthodes ont chacune leurs propres avantages et inconvénients et peuvent être choisies en fonction de différents besoins. Pour les petits tableaux, la méthode de parcours en boucle est un meilleur choix, tandis que pour les grands tableaux, vous pouvez utiliser la fonction array_unique() ou la méthode de spécification d'une clé d'index unique.

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