# array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_ukey — Calcula la intersección de arrays usando una función de devolución de llamada en las claves para la comparación

### Descripción

array_intersect_ukey(
array `$array1`,
array `$array2`,
array `$...` = ?,
callable `$key_compare_func`
): array

array_intersect_ukey() retorna un array que contiene todos los valores de `array1` que tengan tengan que estén presentes en todos los argumentos.

### Parámetros

`array1`

  Array inicial para la comparación de los arrays.

`array2`

  Primer array con el que comparar las claves.

`...`

  Una lista variable de argumentos de tipo array con la que comparar claves.

`key_compare_func`

  La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo. Observe que antes de PHP 7.0.0 este entero debía estar en el rango de -2147483648 a 2147483647.

  callback(mixed `$a`, mixed `$b`): int

### Valores devueltos

Retorna los valores de `array1` cuyas claves existen en todos los argumentos.

### Ejemplos

Ejemplo #1 Ejemplo de array_intersect_ukey()

`<?php
function comparar_claves($clave1, $clave2)
{
if ($clave1 == $clave2)
return 0;
else if ($clave1 > $clave2)
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_intersect_ukey($array1, $array2, 'comparar_claves'));
?>`

El resultado del ejemplo sería:

    array(2) {
      ["blue"]=>
      int(1)
      ["green"]=>
      int(3)
    }

En el ejemplo se puede ver que sólo las claves `'blue'` y `'green'` están presentes en ambos arrays, por lo que son devueltas. Observe también que los valores de las claves `'blue'` y `'green'` difieren entre los dos arrays. Sigue habiendo coincidencia porque solamente se verifican las claves. Los valores devueltos son los de `array1`.

### Ver también

- array_diff() - Calcula la diferencia entre arrays
- array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
- array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
- array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
- array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
- array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
- array_diff_key() - Calcula la diferencia entre arrays empleando las claves para la comparación
- array_diff_ukey() - Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
- array_intersect() - Calcula la intersección de arrays
- array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
- array_intersect_uassoc() - Calcula la intersección de arrays con una comprobación adicional de índices, los cuales se comparan con una función de retrollamada
- array_intersect_key() - Calcula la intersección de arrays usando sus claves para la comparación