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
array_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
$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:
['C' => 3]
Ejemplo
Comparemos tres arrays con una función callback personalizada:
<?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:
[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