Maison développement back-end Problème PHP Comment implémenter la déduplication de tableau en PHP

Comment implémenter la déduplication de tableau en PHP

Apr 27, 2023 am 09:11 AM

Dans le développement PHP, la déduplication de tableaux est une opération fréquemment utilisée. Lors du traitement des données du tableau, si des éléments en double apparaissent, cela affectera le traitement des données et les résultats ultérieurs, le tableau doit donc être dédupliqué. Cet article explique comment implémenter la déduplication de tableau en PHP.

Il existe de nombreuses façons de dédupliquer des tableaux en PHP. Vous pouvez utiliser le parcours de boucles, les fonctions intégrées de PHP, etc. Nous les présenterons ensuite un par un.

  1. Utiliser le parcours en boucle

La méthode la plus originale consiste bien sûr à parcourir le tableau puis à supprimer les doublons en fonction de la comparaison des éléments. Le code est le suivant :

function unique($array) {
    $result = array();
    foreach ($array as $value) {
        if (!in_array($value, $result)) {
            $result[] = $value;
        }
    }
    return $result;
}

$array = array(1, 2, 3, 2, 4, 3);
print_r(unique($array));  // [1, 2, 3, 4]
Copier après la connexion

Dans le code ci-dessus, nous utilisons l'instruction foreach et la fonction in_array pour parcourir le tableau et comparer si l'élément existe déjà dans le tableau de résultats. S'il n'existe pas, l'élément est ajouté au tableau résultant. foreach语句和in_array函数来循环遍历数组和对比元素是否已经存在于结果数组中。如果不存在,则将该元素添加到结果数组中。

使用循环遍历可以实现数组去重,但是当数组中元素数量较多时,该方法效率会非常低下,性能不太好,不适合大规模数据的处理。

  1. 使用array_unique函数

PHP中内置的array_unique函数可以直接对数组进行去重操作。该函数可以接收一个数组作为输入,返回一个去重后的数组:

$array = array(1, 2, 3, 2, 4, 3);
print_r(array_unique($array));  // [1, 2, 3, 4]
Copier après la connexion

该函数可以轻松地对数组进行去重,非常方便。但是需要注意的是,该函数只能去掉相邻的重复元素,因此在数组中存在非相邻重复元素时,该函数就无能为力了。

  1. 使用array_flip和array_keys函数

PHP中的array_flip函数可以将数组的键和值对调,获得一个新的数组。如果数组中存在重复的值,那么键会被覆盖,最终我们可以使用array_keys函数得到去重后的数组。代码如下:

$array = array(1, 2, 3, 2, 4, 3);
$array = array_flip($array);
$array = array_keys($array);
print_r($array);  // [1, 2, 3, 4]
Copier après la connexion
  1. 使用array_reduce函数

PHP中的array_reduce函数可以在迭代数组时将其缩减为一个单一的值。我们可以使用这个函数对数组进行去重。代码如下:

function unique($array) {
    return array_reduce($array, function($result, $value) {
        if (!in_array($value, $result)) {
            $result[] = $value;
        }
        return $result;
    }, array());
}

$array = array(1, 2, 3, 2, 4, 3);
print_r(unique($array));  // [1, 2, 3, 4]
Copier après la connexion

上面的代码中,我们使用了array_reduce

L'utilisation du parcours de boucle peut réaliser une déduplication de tableau, mais lorsqu'il y a un grand nombre d'éléments dans le tableau, cette méthode sera très inefficace, fonctionnera mal et ne conviendra pas au traitement de données à grande échelle.

    Utiliser la fonction array_unique

    #🎜🎜#La fonction array_unique intégrée en PHP peut décoder directement les tableaux Opération lourde. Cette fonction peut recevoir un tableau en entrée et renvoyer un tableau dédupliqué : #🎜🎜#rrreee#🎜🎜#Cette fonction peut facilement dédupliquer le tableau, ce qui est très pratique. Cependant, il convient de noter que cette fonction ne peut supprimer que les éléments en double adjacents, donc lorsqu'il y a des éléments en double non adjacents dans le tableau, cette fonction est impuissante. #🎜🎜#
      #🎜🎜#Utilisez les fonctions array_flip et array_keys #🎜🎜##🎜🎜##🎜🎜#La fonction array_flip en PHP peut convertir les clés du tableau Échangez les valeurs et obtenez un nouveau tableau. S'il y a des valeurs en double dans le tableau, les clés seront écrasées et enfin nous pourrons utiliser la fonction array_keys pour obtenir le tableau dédupliqué. Le code est le suivant : #🎜🎜#rrreee
        #🎜🎜#Utilisez la fonction array_reduce #🎜🎜##🎜🎜##🎜🎜#La fonction array_reduce dans PHP peut être itéré. Le tableau est réduit à une seule valeur. Nous pouvons utiliser cette fonction pour dédupliquer des tableaux. Le code est le suivant : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous utilisons la fonction array_reduce et la fonction anonyme (closure) pour dédupliquer le tableau. A chaque itération, l'élément actuel est comparé aux éléments qui ont été traités, les éléments en double sont supprimés et le tableau résultat est renvoyé. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Il existe de nombreuses façons d'implémenter la déduplication de tableau en PHP. Nous pouvons utiliser le parcours de boucles, les fonctions intégrées et d'autres méthodes. Dans le développement réel, la sélection doit être effectuée en fonction des conditions réelles afin d'obtenir de meilleures performances et effets. #🎜🎜#

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

Limitation du taux de l'API PHP: stratégies de mise en œuvre. Limitation du taux de l'API PHP: stratégies de mise en œuvre. Mar 26, 2025 pm 04:16 PM

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

See all articles