Maison > développement back-end > Problème PHP > Comment comparer la différence entre deux tableaux en php

Comment comparer la différence entre deux tableaux en php

PHPz
Libérer: 2023-04-25 18:07:17
original
941 Les gens l'ont consulté

En PHP, vous pouvez rapidement faire la différence entre deux tableaux en les comparant. Dans cet article, nous explorerons plusieurs façons de comparer deux tableaux et d’obtenir les différences entre eux. La fonction

  1. array_diff()

array_diff() est l'une des méthodes courantes en PHP pour comparer deux tableaux. Il accepte deux tableaux ou plus comme arguments et renvoie la différence entre le premier tableau et les autres tableaux. Plus précisément, il renvoie un tableau comprenant des valeurs qui apparaissent uniquement dans le premier tableau. Voici un exemple :

$array1 = array("red", "green", "blue");
$array2 = array("green", "blue", "yellow");
$diff = array_diff($array1, $array2);
print_r($diff);
Copier après la connexion

Dans l'exemple ci-dessus, array_diff() renvoie la valeur qui apparaît uniquement dans $array1, qui est "red". La fonction

  1. array_diff_assoc()

array_diff_assoc() est utilisée pour comparer les différences entre les clés et les valeurs dans les tableaux associatifs. Il accepte deux tableaux ou plus comme arguments et renvoie la différence entre le premier tableau et les autres tableaux. Contrairement à array_diff(), array_diff_assoc() prend en compte la correspondance de clé et de valeur. Voici un exemple :

$array1 = array("a"=>"red", "b"=>"green", "c"=>"blue");
$array2 = array("a"=>"red", "b"=>"blue", "c"=>"green");
$diff = array_diff_assoc($array1, $array2);
print_r($diff);
Copier après la connexion

Dans l'exemple ci-dessus, array_diff_assoc() renvoie uniquement les entrées avec des clés ou des valeurs différentes dans $array1, c'est-à-dire "b" => "green" et "c "= >"bleu".

  1. array_udiff()

array_udiff() compare deux tableaux ou plus et utilise la fonction de rappel spécifiée pour comparer les valeurs. La fonction de rappel nécessite deux paramètres, qui sont les valeurs de comparaison. Voici un exemple :

function compare($a, $b) {
    if ($a === $b) {
        return 0;
    }
    return ($a > $b) ? 1 : -1;
}

$array1 = array("red", "green", "blue");
$array2 = array("GREEN", "BLUE", "yellow");
$diff = array_udiff($array1, $array2, 'compare');
print_r($diff);
Copier après la connexion

Ici, nous définissons une fonction de comparaison qui compare les valeurs de deux éléments. Nous utilisons ensuite cette fonction pour appeler la fonction array_udiff(), en stockant le résultat dans la variable $diff. array_udiff() renverra la valeur qui apparaît uniquement dans $array1, qui est "rouge".

  1. array_diff_uassoc()

array_diff_uassoc() compare deux tableaux Il utilise la fonction de rappel spécifiée pour comparer les clés et les valeurs dans. les tableaux associatifs. Cette fonction de rappel nécessite deux paramètres, la clé et la valeur de la comparaison. Voici un exemple :

function compare($a, $b) {
    $key_compare = strcmp($a, $b);
    if ($key_compare === 0) {
        return 0;
    }
    return ($key_compare > 0) ? 1 : -1;
}

$array1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue');
$array2 = array('a' => 'red', 'b' => 'blue', 'd' => 'green');

$diff = array_diff_uassoc($array1, $array2, 'compare');

print_r($diff);
Copier après la connexion

Ici, nous définissons une fonction de comparaison qui compare les clés de deux éléments. Nous utilisons ensuite cette fonction pour appeler la fonction array_diff_uassoc(), en stockant le résultat dans la variable $diff. array_diff_uassoc() ne renverra que les entrées avec des clés ou des valeurs différentes dans $array1, c'est-à-dire "b" => "vert" et "c" => "bleu".

Résumé

En PHP, il existe de nombreuses options pour comparer deux tableaux ou plus, en fonction des facteurs que vous devez prendre en compte. Par exemple, si vous avez uniquement besoin de comparer les valeurs d'un seul tableau, l'utilisation de la fonction array_diff() est un bon choix. Si vous devez considérer la correspondance des clés et des valeurs, vous devez utiliser la fonction array_diff_assoc(). Si vous avez besoin d'une méthode de comparaison personnalisée, vous pouvez utiliser les fonctions array_udiff() et array_diff_uassoc(). Quelle que soit la méthode que vous choisissez, vous pouvez rapidement trouver les différences entre deux tableaux grâce à une simple comparaison.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal