Maison >développement back-end >Problème PHP >Comment obtenir différents éléments de deux tableaux en php

Comment obtenir différents éléments de deux tableaux en php

PHPz
PHPzoriginal
2023-04-18 10:20:201050parcourir

En PHP, nous avons parfois besoin de récupérer les différents éléments entre deux tableaux, c'est-à-dire de trouver les éléments qui existent dans le tableau A mais pas dans le tableau B, ou qui existent dans le tableau B mais pas dans l'élément du tableau A.

Ce type d'opération est très courant dans le développement réel. Par exemple, en termes de comparaison de différences, de synchronisation de données, etc., nous devrons peut-être trouver la différence entre deux tableaux et la gérer en conséquence.

Alors, comment récupérer les différents éléments entre deux tableaux en PHP ? Ci-dessous, je vais vous présenter deux méthodes en détail.

Méthode 1 : utilisez la fonction array_diff()

PHP a une fonction intégrée très pratique array_diff(), qui peut calculer la différence et renvoyer les différents éléments entre le tableau A et les autres tableaux.

L'utilisation spécifique est la suivante :

$a = array('apple', 'banana', 'orange', 'watermelon');
$b = array('apple', 'banana', 'grape');
$diff = array_diff($a, $b);
print_r($diff);

Le résultat de sortie est :

Array
(
    [2] => orange
    [3] => watermelon
)

Dans le code ci-dessus, nous définissons d'abord deux tableaux $a et $b, chacun contenant des éléments différents. Ensuite, nous avons appelé la fonction array_diff(), en passant deux tableaux comme paramètres. La fonction calculera automatiquement la différence et enregistrera le résultat dans la variable $diff. Enfin, nous utilisons la fonction print_r() pour afficher le contenu de la variable $diff afin d'afficher les différents éléments entre les deux tableaux.

Il convient de noter que la fonction array_diff() ne peut trouver que les éléments qui existent dans le tableau A mais pas dans d'autres tableaux, mais ne peut pas trouver les éléments qui existent dans le tableau B mais n'existent pas dans le tableau A. Si nous devons trouver différents éléments dans le tableau B, nous devons utiliser la fonction array_diff() pour l'exécuter à nouveau. Le code est le suivant :

$diff = array_diff($b, $a);
print_r($diff);

Le résultat de sortie est :

Array
(
    [2] => grape
)

Dans le code ci-dessus, nous avons appelé le. fonction array_diff() deux fois, en passant Entrez deux tableaux et obtenez la différence entre les deux tableaux de manière plus intuitive.

Méthode 2 : utilisez la fonction array_unique()

En plus de la fonction array_diff(), une autre façon d'obtenir différents éléments consiste à utiliser la fonction array_unique(), qui peut supprimer les éléments en double du tableau et renvoyer l'élément de différence .

L'utilisation spécifique est la suivante :

$a = array('apple', 'banana', 'orange', 'watermelon');
$b = array('apple', 'banana', 'grape');
$diff = array_unique(array_merge($a, $b));
print_r($diff);

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => watermelon
    [4] => grape
)

Dans le code ci-dessus, nous utilisons d'abord la fonction array_merge() pour fusionner les deux tableaux dans un nouveau tableau, puis passons le nouveau tableau dans la fonction array_unique(), cette fonction supprimera automatiquement les éléments en double et ne conservera que les éléments différents.

Il convient de noter que lorsque nous utilisons cette méthode pour obtenir différents éléments, nous devons fusionner tous les tableaux qui doivent être comparés dans un nouveau tableau, donc lors du traitement d'une grande quantité de données, il peut y avoir une certaine charge sur le mémoire. Si vous avez un projet avec des exigences élevées en termes de performances et d'utilisation de la mémoire, il est recommandé d'utiliser la méthode array_diff().

Pour résumer, nous avons introduit deux méthodes pour obtenir différents éléments en PHP : array_diff() et array_unique(). Ces méthodes sont très simples et faciles à utiliser, peuvent compléter rapidement l'opération de comparaison des différences et jouer un rôle important dans le développement réel.

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