Maison > développement back-end > tutoriel php > Comment utiliser la fonction array_unique pour supprimer les tableaux en double en PHP

Comment utiliser la fonction array_unique pour supprimer les tableaux en double en PHP

王林
Libérer: 2023-06-26 13:06:01
original
828 Les gens l'ont consulté

En langage PHP, le tableau est une structure de données très courante. Cependant, au cours du processus de développement, nous rencontrons souvent des scénarios nécessitant une déduplication des baies. À l’heure actuelle, la fonction array_unique fournie en PHP peut s’avérer utile. La fonction

array_unique est une fonction utilisée pour supprimer les valeurs en double d'un tableau. Son utilisation est très simple, il peut accepter un tableau en paramètre puis renvoyer un tableau dédupliqué.

Maintenant, présentons en détail l'utilisation de la fonction array_unique :

  1. Utilisation de base

L'utilisation la plus basique consiste simplement à transmettre un tableau, comme indiqué ci-dessous :

$arr = array('a', 'b', 'c', 'a', 'b');
$newArr = array_unique($arr);
print_r($newArr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Copier après la connexion

Comme vous pouvez voir que les valeurs en double "a" et "b" dans le tableau d'origine ont été supprimées.

  1. Déduplication de tableaux multidimensionnels

Si vous devez dédupliquer des tableaux multidimensionnels, vous pouvez également utiliser la fonction array_unique, mais il convient de noter que, comme la fonction array_unique ne peut traiter que simplement des tableaux unidimensionnels, vous avez besoin utiliser certaines compétences pour gérer des tableaux multidimensionnels.

Par exemple, pour le tableau multidimensionnel suivant, il doit être dédupliqué :

$arr = array(
    array('a', 'b', 'c'),
    array('a', 'd', 'e'),
    array('a', 'b', 'c'),
);
Copier après la connexion

Vous pouvez utiliser le code suivant pour dédupliquer :

$tempArray = array();
foreach($arr as $key=>$value){
   $tempArray[$key] = serialize($value);
}
$tempArray = array_unique($tempArray);
foreach($tempArray as $key=>$value){
   $tempArray[$key] = unserialize($value);
}
print_r($tempArray);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => d
            [2] => e
        )

)
Copier après la connexion

Vous pouvez voir que les tableaux en double ont été supprimé.

  1. Fonction de comparaison personnalisée

Parfois, une fonction de comparaison personnalisée est nécessaire pour répondre à des exigences de déduplication plus complexes. À ce stade, vous pouvez utiliser la fonction array_filter pour y parvenir.

Par exemple, le code suivant peut réaliser la déduplication selon la valeur de clé spécifiée :

$arr = array(
    array('name' => 'Tom', 'age' => 20),
    array('name' => 'Jack', 'age' => 22),
    array('name' => 'Tom', 'age' => 25),
);

function compare($v1, $v2){
    return $v1['name'] == $v2['name'];
}

$newArr = array();
foreach($arr as $value){
    if(! in_array($value, $newArr, true)){
        $newArr[] = $value;
    }
}

print_r($newArr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [1] => Array
        (
            [name] => Jack
            [age] => 22
        )

)
Copier après la connexion

Vous pouvez voir que la duplication est dédupliquée en fonction de la valeur "name".

Résumé

La fonction array_unique en PHP est une fonction de déduplication très pratique. Elle peut simplement dédupliquer des tableaux unidimensionnels, ou elle peut également utiliser certaines techniques pour résoudre le problème de déduplication des tableaux multidimensionnels, et elle peut même l'être. Fonctions de comparaison personnalisées pour mettre en œuvre des exigences de déduplication plus complexes. Pendant le processus de développement, une déduplication précise et rapide des baies peut améliorer l'efficacité du programme et du développement, les développeurs doivent donc maîtriser l'utilisation correcte de la fonction array_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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal