(PHP 5 >= 5.1.0, PHP 7)
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
) : array
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. Notez qu'avant PHP 7.0.0, cet entier devait être dans l'intervalle -2147483648 à 2147483647
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');.