array_diff_ukey
(PHP 5 >= 5.1.0)
array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de callback sur les clés pour comparaison
Description
Compare les clés du tableau array1 avec celles du tableau array2 et retourne la différence. Cette fonction est identique à la fonction array_diff(), excepté le fait que la comparaison est effectuée sur les clés, plutôt que sur les valeurs.
Contrairement à la fonction array_diff_key(), une fonction utilisateur est fournie pour la comparaison des indices, et non une fonction interne.
Liste de paramètres
- array1
-
Le tableau à comparer
- array2
-
Le tableau à comparer
- ...
-
Plus de tableaux à comparer
- key_compare_func
-
La fonction utilisateur à utiliser. La fonction utilisateur 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 paramètre.
Valeurs de retour
Retourne un tableau contenant toutes les entrées du tableau array1 qui ne sont pas présentes dans aucun autre tableau.
Exemples
Example#1 Exemple avec array_diff_ukey()
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>
L'exemple ci-dessus va afficher :
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
Notes
Note: Notez que cette fonction vérifie uniquement une dimension d'un tableau possédant n dimensions. Bien sûr, vous pouvez vérifier une dimension plus profonde en utilisant, par exemple, array_diff_ukey($array1[0], $array2[0], 'callback_func');.