(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.
arrayArray inicial para la comparación de arrays.
arraysArrays a comparar.
key_compare_funcLa 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.