(PHP 5 >= 5.1.0)
array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
$array1
, array $array2
[, array $ ...
], callable $key_compare_func
)
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.
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_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) }
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');.