Función array_diff_ukey

La función array_diff_ukey compara las claves de varios arrays y devuelve los elementos del primer array cuyas claves están ausentes en los demás arrays. Para comparar las claves se utiliza una función callback, especificada por el usuario. El primer parámetro es el array principal, los siguientes parámetros son los arrays para comparar, y el último parámetro es la función callback.

Sintaxis

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

Ejemplo

Comparemos dos arrays por claves, utilizando la función callback strcasecmp (comparación sin distinguir entre mayúsculas y minúsculas):

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

Resultado de la ejecución del código:

php['C' => 3]

Ejemplo

Comparemos tres arrays con una función callback personalizada:

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);
?>

Resultado de la ejecución del código:

php[3 => 'c']

Véase también

  • la función array_diff,
    que compara arrays por valores
  • la función array_diff_key,
    que compara arrays por claves
  • la función array_udiff,
    que compara arrays mediante una función callback