Maison  >  Article  >  développement back-end  >  Comment supprimer les doublons en php sans fonction de tableau

Comment supprimer les doublons en php sans fonction de tableau

PHPz
PHPzoriginal
2023-04-18 15:20:40438parcourir

Le langage PHP est aujourd'hui un langage de programmation très populaire. Ses puissantes fonctions de fonctions de tableau ont été maîtrisées et utilisées par de plus en plus de programmeurs au cours du processus de développement. Cependant, les jeunes programmeurs PHP ne savent peut-être pas que le langage PHP ne nécessite pas l'utilisation de fonctions de tableau pour effectuer des opérations de déduplication de tableau. Dans cet article, nous explorerons différentes méthodes de déduplication de tableaux dans le langage PHP, et comprendrons et maîtriserons ses principes de mise en œuvre.

La déduplication de matrice est une opération de données de base qui peut supprimer efficacement les données en double et économiser de l'espace de stockage et des ressources informatiques pour les développeurs. En PHP, nous utilisons généralement des fonctions de tableau telles que array_unique pour effectuer des opérations de déduplication, mais en fait, certaines fonctionnalités du langage intégrées au langage PHP peuvent être utilisées pour réaliser la même fonction, et ces méthodes sont plus efficaces et flexibles que l'utilisation de fonctions de tableau. pour supprimer les doublons.

Méthode 1 : Utiliser le principe d'échange clé-valeur pour réaliser la déduplication de tableau

En PHP, un tableau se présente sous la forme d'une paire clé-valeur, et la valeur correspondante (Valeur) est accessible directement via le nom de la clé ( Key), et le nom de la clé peut être n'importe quel entier ou chaîne. Par conséquent, nous pouvons utiliser cette fonctionnalité pour atteindre l'objectif de déduplication en échangeant les valeurs et les noms de clé du tableau. La méthode d'implémentation spécifique est la suivante :

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
foreach ($origin as $key => $val) {
    $tmp[$val] = 1;
}
$unique = array_keys($tmp);

//输出结果
print_r($unique);
?>

Dans ce code, nous utilisons d'abord une boucle foreach pour parcourir le tableau, en utilisant la valeur correspondante comme nom de clé et 1 comme valeur correspondante. Étant donné que le nom de clé est unique, différentes valeurs seront attribuées à différents noms de clé et la même valeur écrasera le nom de clé d'origine, atteignant ainsi l'objectif de déduplication. Enfin, tous les noms de clés sont extraits via la fonction array_keys et formés dans un nouveau tableau.

Méthode 2 : utilisez la fonction array_flip pour échanger des noms de clés et des valeurs afin de réaliser la déduplication du tableau

Par rapport à la méthode 1 ci-dessus, cette méthode de déduplication est plus concise. Nous pouvons utiliser la fonction de tableau intégrée de PHP array_flip pour échanger les noms de clés et les valeurs du tableau d'origine afin d'obtenir l'effet de déduplication.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_keys(array_flip($origin));

//输出结果
print_r($unique);
?>

Dans ce code, nous utilisons d'abord la fonction array_flip pour échanger les noms de clé et les positions de valeur du tableau d'origine, de sorte que les valeurs répétées deviennent des noms de clé répétés et que les noms de clé doivent être uniques, nous obtenons donc une duplication effet. Enfin, nous utilisons à nouveau la fonction array_keys pour extraire tous les noms de clés et générer un nouveau tableau dédupliqué.

Méthode 3 : utilisez la fonction array_diff pour effectuer une opération de différence de tableau

Cette méthode de déduplication est différente des deux premières méthodes. Elle déduplique en calculant la différence de tableau. La méthode d'implémentation spécifique est la suivante :

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_diff($origin, array_diff_assoc($origin, array_unique($origin)));

//输出结果
print_r($unique);
?>

Dans ce code, nous utilisons d'abord la fonction array_unique pour obtenir le tableau dédupliqué. Ensuite, nous utilisons la fonction array_diff_assoc pour comparer le tableau d'origine et le tableau dédupliqué, et obtenir les parties où leurs noms de clé et leurs valeurs de clé sont différents, qui sont les parties en double. Enfin, nous utilisons à nouveau la fonction array_diff pour supprimer les parties en double et obtenir le tableau dédupliqué final.

En résumé, nous avons discuté de trois méthodes de déduplication de tableau intégrées au langage PHP. Toutes les méthodes ont leurs propres avantages et scénarios applicables. Une maîtrise flexible de ces méthodes peut nous faire gagner du temps, économiser des ressources et améliorer la lisibilité et la maintenabilité du code. Par conséquent, les programmeurs doivent choisir différentes méthodes de déduplication en fonction des situations spécifiques du développement quotidien afin de garantir le fonctionnement efficace du code.

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