Forum und email

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

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $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.

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');.