(PHP 5)
array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
Compare le tableau array1 avec le tableau array2 et retourne la différence. Contrairement à la fonction array_diff(), les clés du tableau sont utilisées dans la comparaison.
Contrairement à la fonction array_diff_assoc(), un utilisateur fournit une fonction de rappel utilisée pour la comparaison des indices, et non une fonction interne.
Le tableau à comparer
Le tableau à comparer
Plus de tableaux à comparer
La fonction de rappel à utiliser. Elle doit retourner un entier inférieur, égal ou supérieur à 0 si le première argument est considéré comme, respectivement, inférieur, égal ou supérieur au second paramètre.
Retourne un tableau contenant toutes les entrées du tableau array1 qui ne sont pas présentes dans aucun autre tableau.
Exemple #1 Exemple avec array_diff_uassoc()
Dans cet exemple, vous voyez que la paire "a" => "vert" est présente dans les deux tableaux et donc ne figure pas dans le résultat de la fonction. Contrairement à cela, la paire 0 => "rouge" est dans le résultat car dans le second argument, la clé de "rouge" est 1.
<?php
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array("a" => "vert", "b" => "marron", "c" => "bleu", "rouge");
$array2 = array("a" => "vert", "jaune", "rouge");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>
L'exemple ci-dessus va afficher :
Array ( [b] => marron [c] => bleu [0] => rouge )
L'égalité de deux indices est vérifiée par la fonction utilisateur.
Note: Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple, array_diff_uassoc($array1[1], $array2[1], "key_compare_func");.