(PHP 5)
array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
$array1
, array $array2
[, array $...
], callable $key_compare_func
)
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.
array1
Le tableau à comparer
array2
Le tableau à comparer
...
Plus de tableaux à comparer
key_compare_func
La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
Retourne un tableau contenant toutes les entrées du tableau
array1
qui ne sont 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");.