(PHP 5 >= 5.1.0, PHP 7)
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
$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.
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.
Retorna los valores de array1
cuyas claves existen
en todos los argumentos.
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
.