(PHP 5 >= 5.1.0)
array_intersect_ukey — Calcula la intersecció de matrices usando una función de usuario para la comparación de los índices
array_intersect_ukey() regresa una matriz que contiene todos los valores de array1 los cuales tienen índices que están presentes en todos los argumentos.
Esta comparación es hecha por una función del usuario. La cual debe regresar un entero menor que, igual a, o mayor que cero si el primer índice es considerado ser menor que, igual a o mayor que el segundo, respectivamente.
Example#1 Ejemplo 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 seria:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) })
En nuestro ejemplo ve que solo los índices 'blue' y 'green' están presentes en ambas matrices y por lo tanto son regresados. También note los valores de los índices 'blue' y 'green' son diferentes entre las dos matrices. Aún así coinciden porque solo los índices son checados. Los valores regresados son los de array1 .
Los dos índices del par key => value son considerados igual solo si (string) $key1 === (string) $key2 . En otras palabras se hace un chequeo estricto de tipo, de tal manera que la representación de la cadena sea la misma.
Vea también: array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_diff_ukey(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc() y array_intersect_key().