Fonction array_diff_ukey

La fonction array_diff_ukey compare les clés de plusieurs tableaux et retourne les éléments du premier tableau dont les clés sont absentes des autres tableaux. Pour comparer les clés, une fonction de rappel définie par l'utilisateur est utilisée. Le premier paramètre est le tableau principal, les paramètres suivants sont les tableaux à comparer, et le dernier paramètre est la fonction de rappel.

Syntaxe

phparray_diff_ukey(array $array1, array $array2 [, array $... ], callable $key_compare_func): array

Exemple

Comparons deux tableaux par leurs clés, en utilisant la fonction de rappel strcasecmp (comparaison insensible à la casse) :

php<?php
  $array1 = ['A' => 1, 'b' => 2, 'C' => 3];
  $array2 = ['a' => 4, 'B' => 5];
  
  $res = array_diff_ukey($array1, $array2, 'strcasecmp');
  print_r($res);
?>

Résultat de l'exécution du code :

php['C' => 3]

Exemple

Comparons trois tableaux avec une fonction de rappel personnalisée :

php<?php
  function keyCompare($key1, $key2) {
    return $key1 <=> $key2;
  }

  $array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
  $array2 = [1 => 'd', 4 => 'e'];
  $array3 = [2 => 'f'];
  
  $res = array_diff_ukey($array1, $array2, $array3, 'keyCompare');
  print_r($res);
?>

Résultat de l'exécution du code :

php[3 => 'c']

Voir aussi

  • la fonction array_diff,
    qui compare les tableaux par leurs valeurs
  • la fonction array_diff_key,
    qui compare les tableaux par leurs clés
  • la fonction array_udiff,
    qui compare les tableaux via une fonction de rappel