PHP array_diff_uassoc()
La fonction array_diff_uassoc est une fonction intégrée en PHP, et est utilisée pour obtenir la différence entre un ou plusieurs tableaux en utilisant une fonction définie par l’utilisateur pour comparer les clés. Cette fonction compare à la fois les clés et les valeurs entre un ou plusieurs tableaux et renvoie les éléments du premier tableau qui ne se trouvent pas dans les autres tableaux.
Syntaxe
array_diff_assoc(arr1, arr2, arr3, ..., user_function)
Paramètres
- arr1(Obligatoire) : Le tableau à comparer.
- arr2(Obligatoire) : Un autre tableau à comparer.
- arr3, …(Optionnelles) : Plus de tableaux à comparer.
- user_function(Obligatoire) : Une chaîne qui définit une fonction de comparaison callable. La fonction de comparaison doit renvoyer un entier <, = ou> supérieur à 0 si le premier argument est <, = ou> supérieur au deuxième argument
Valeur de retour
La fonction renvoie un tableau contenant les entrées de « arr1 » qui ne se trouvent pas dans les autres tableaux.
Version PHP:
5+
Exemple :
Le code suivant compare les clés et les valeurs de deux tableaux (en utilisant une fonction définie par l’utilisateur pour comparer les clés) et renvoie les différences:
<?php function compare($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } $lang1 = array("a"=>"PHP","b"=>"Java","c"=>"C++"); $lang2 = array("c"=>"C++","e"=>"Java"); $diff = array_diff_uassoc($lang1, $lang2, "compare"); print_r($diff); ?>
Sortie:
Array ( [a] => PHP [b] => Java )