(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_ukey — Calcula la intersección de dos arrays utilizando una función de retrollamada sobre las claves para la comparación
array_intersect_ukey() devuelve un array que contiene
todas las valores del array array
que contienen claves presentes en todos los argumentos.
array
Array inicial para la comparación de arrays.
arrays
Arrays a comparar.
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.
Devuelve los valores del array
array
cuyas claves existen
en todos los argumentos.
Ejemplo #1 Ejemplo con array_intersect_ukey()
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
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, 'key_compare_func'));
?>
El resultado del ejemplo sería:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
En este ejemplo, se puede ver que solo las claves
'blue'
y 'green'
están presentes en
ambos arrays y, por lo tanto, son devueltas. Note también que los valores para las claves
'blue'
y 'green'
difieren
entre los dos arrays. No obstante, aún coinciden porque solo las claves son verificadas. Los valores devueltos son los del
array array
.