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 :
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);
Le résultat de sortie est :
Array ( [0] => a [1] => b [2] => c )
Comme vous pouvez voir que les valeurs en double "a" et "b" dans le tableau d'origine ont été supprimées.
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'), );
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);
Le résultat de sortie est :
Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => a [1] => d [2] => e ) )
Vous pouvez voir que les tableaux en double ont été supprimé.
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);
Le résultat de sortie est :
Array ( [0] => Array ( [name] => Tom [age] => 20 ) [1] => Array ( [name] => Jack [age] => 22 ) )
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!