Maison  >  Article  >  développement back-end  >  Comparaison de tableaux PHP pour supprimer différentes valeurs

Comparaison de tableaux PHP pour supprimer différentes valeurs

PHPz
PHPzoriginal
2023-05-07 14:34:07628parcourir

Dans la programmation PHP, la comparaison des données et la déduplication sont souvent impliquées. Parmi eux, la comparaison de tableaux pour supprimer différentes valeurs est un problème courant, et c'est également un problème difficile que de nombreux développeurs doivent résoudre.

Pourquoi devons-nous effectuer une comparaison de tableaux pour opérer sur différentes valeurs ? Souvent, cela est dû au fait que nous devons obtenir des données provenant de différentes sources de données, puis les intégrer et les traiter. À ce stade, nous devons effectuer des opérations de comparaison de tableaux pour filtrer et dédupliquer les données de différentes cibles, et enfin générer les données cibles dont nous avons besoin.

Alors, comment effectuer une comparaison de tableaux pour opérer sur différentes valeurs ? Ce qui suit présentera ce problème de deux manières courantes : en utilisant la fonction in_array et en utilisant la fonction array_diff.

Méthode 1 : Utilisez la fonction in_array pour comparer des tableaux

En PHP, la fonction in_array peut être utilisée pour déterminer si un élément existe dans un tableau. Par conséquent, nous pouvons réaliser l'opération de comparaison de tableaux pour supprimer différentes valeurs en parcourant et en jugeant le tableau.

Les étapes spécifiques de mise en œuvre sont les suivantes :

1 Définissez deux tableaux $arr1 et $arr2, stockant respectivement les deux tableaux qui doivent être comparés.

2. Parcourez le tableau $arr1 et utilisez la fonction in_array pour déterminer si chaque élément du tableau $arr1 existe également dans le tableau $arr2.

3. Si un élément du tableau $arr1 n'existe pas dans le tableau $arr2, ajoutez l'élément à un nouveau tableau $result.

4. Parcourez le tableau $arr2 et utilisez la fonction in_array pour déterminer si chaque élément du tableau $arr2 existe également dans le tableau $arr1.

5. Si un élément du tableau $arr2 n'existe pas dans le tableau $arr1, ajoutez l'élément au tableau $result.

6. Renvoyez le tableau $result comme résultats dont nous avons besoin.

L'implémentation complète du code est la suivante :

$arr1 = array("apple", "banana", "orange", "kiwi");
$arr2 = array("apple", "grape", "watermelon", "kiwi");
$result = array();

foreach ($arr1 as $value) {
    if(!in_array($value, $arr2)){
        array_push($result, $value);
    }
}

foreach ($arr2 as $value) {
    if(!in_array($value, $arr1)){
        array_push($result, $value);
    }
}

print_r($result);

Le résultat de sortie du code ci-dessus est :

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

On peut voir que différents éléments du tableau ont été filtrés et l'opération de comparaison de tableau pour supprimer différentes valeurs a été mis en œuvre avec succès.

Il convient de noter que l'utilisation de la fonction in_array pour comparer des tableaux afin de supprimer différentes valeurs nécessite deux parcours. Lorsqu'il y a de nombreux éléments du tableau, cela affectera les performances et l'efficacité du programme, il ne convient donc pas aux scénarios avec des exigences de performances élevées. .

Méthode 2 : utilisez la fonction array_diff pour effectuer une comparaison de tableaux

Une autre méthode courante consiste à utiliser la fonction array_diff pour effectuer une comparaison de tableaux afin de supprimer différentes valeurs. La fonction array_diff est utilisée pour trouver l'ensemble de différences de plusieurs tableaux. Elle peut filtrer différents éléments dans plusieurs tableaux, réalisant ainsi l'opération de comparaison de tableaux pour supprimer différentes valeurs.

Les étapes spécifiques de mise en œuvre sont les suivantes :

  1. Définissez deux tableaux $arr1 et $arr2, stockant respectivement les deux tableaux qui doivent être comparés.
  2. Utilisez la fonction array_diff pour comparer différents éléments entre les tableaux $arr1 et $arr2, respectivement, et enregistrez les résultats dans de nouveaux tableaux $result1 et $result2.
  3. Fusionnez les tableaux $result1 et $result2 dans un nouveau tableau $result.
  4. Renvoyer le tableau $result comme résultat dont nous avons besoin.

L'implémentation complète du code est la suivante :

$arr1 = array("apple", "banana", "orange", "kiwi");
$arr2 = array("apple", "grape", "watermelon", "kiwi");
$result1 = array_diff($arr1, $arr2);
$result2 = array_diff($arr2, $arr1);
$result = array_merge($result1, $result2);
print_r($result);

Le résultat de sortie du code ci-dessus est :

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

On peut voir que l'utilisation de la fonction array_diff peut également implémenter avec succès l'opération de comparaison de tableaux pour supprimer différentes valeurs à. dans le même temps, une seule traversée est nécessaire, ce qui est plus efficace et adapté aux scénarios ayant des exigences de performances élevées.

Conclusion :

L'opération de comparaison de tableaux pour supprimer différentes valeurs en PHP peut être réalisée en utilisant la fonction in_array et la fonction array_diff. La fonction in_array convient aux tableaux plus petits et ne convient pas aux scénarios ayant des exigences de performances élevées ; la fonction array_diff convient à tous les scénarios et présente des avantages en termes d'efficacité et de performances plus élevés et peut être envisagée pour une utilisation dans la programmation réelle.

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