Maison >développement back-end >Problème PHP >Méthode d'interception de l'ensemble de différences de tableau php

Méthode d'interception de l'ensemble de différences de tableau php

WBOY
WBOYoriginal
2023-05-23 20:14:06498parcourir

PHP est un langage de programmation côté serveur largement utilisé qui possède de puissantes fonctions d'opération de tableau, telles que la différence de tableau. La différence de tableau signifie filtrer différents éléments dans deux tableaux et les renvoyer sous la forme d'un nouveau tableau. Dans le développement réel, l'utilisation de la différence de tableau est très courante, et comment intercepter la différence de tableau est une compétence importante que les développeurs PHP doivent maîtriser.

Cet article présentera la méthode d'interception de l'ensemble de différences de tableau PHP, y compris des exemples d'utilisation des fonctions array_diff et array_udiff.

array_diff function

array_diff La fonction peut être utilisée pour comparer la différence entre deux tableaux et renvoyer un nouveau tableau contenant uniquement la valeur.

Ce qui suit est un exemple de code qui utilise la fonction array_diff pour intercepter la différence de tableau :

<?php
$array1 = array('a', 'b', 'c', 'd');
$array2 = array('b', 'd', 'e', 'f');
$diff = array_diff($array1, $array2);
print_r($diff);
?>

Ce code créera deux tableaux $array1 et $array2, et utilisera array_diff fonction pour convertir $ Les éléments qui existent dans array1 mais n'existent pas dans $array2 sont filtrés et enregistrés dans le tableau $diff. La sortie finale du tableau $diff est :

Array
(
    [0] => a
    [1] => c
)

array_udiff function

Si vous comparez non seulement les valeurs du tableau mais les objets éléments du tableau, vous devez utiliser la fonction array_udiff. La fonction array_udiff peut être utilisée pour comparer la différence entre deux tableaux et renvoyer un nouveau tableau contenant des valeurs qui n'existent que dans le premier tableau, mais les utilisateurs peuvent personnaliser une fonction de rappel pour implémenter leurs propres règles de comparaison.

Ce qui suit est un exemple de code qui utilise la fonction array_udiff pour intercepter l'ensemble des différences de tableau :

<?php
class Fruit
{
    public $name;
    public function __construct($name)
    {
        $this->name = $name;
    }
}
function compareFruits($a, $b)
{
    if ($a->name === $b->name) {
        return 0;
    }
    return ($a->name > $b->name) ? 1 : -1;
}
$array1 = array(new Fruit('apple'), new Fruit('orange'), new Fruit('banana'));
$array2 = array(new Fruit('apple'), new Fruit('pear'), new Fruit('banana'));
$diff = array_udiff($array1, $array2, 'compareFruits');
print_r($diff);
?>

Ce code créera deux tableaux $array1 et $array2, et utilisera le Fonction array_udiff pour convertir $ Les éléments qui existent dans array1 mais n'existent pas dans $array2 sont filtrés et enregistrés dans le tableau $diff. La fonction de rappel personnalisée compareFruits est utilisée pour comparer l'attribut name des objets Fruit. Le résultat final du tableau $diff est :

Array
(
    [1] => Fruit Object
        (
            [name] => orange
        )

)

Summary

Cet article présente la méthode d'utilisation des fonctions array_diff et array_udiff de PHP pour intercepter les différences de tableau. Dans le développement réel, l'interception des différences de tableau est une opération très courante et une compétence que les développeurs PHP doivent maîtriser. En maîtrisant l'utilisation de ces fonctions, les développeurs peuvent gérer plus efficacement les opérations de différence de tableau.

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