(PHP 5 >= 5.1.0)
array_intersect_key — Calcula la intersección de matrices usando las llaves para la comparación
array_intersect_key() regresa una matriz conteniendo todos los valores de array1 los cuales tienen llaves que están presentes en todos los argumentos.
Example#1 Ejemplo array_intersect_key()
<?php
$array1 = array('azul' => 1, 'rojo' => 2, 'verde' => 3, 'morado' => 4);
$array2 = array('verde' => 5, 'azul' => 6, 'amarillo' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
El resultado del ejemplo seria:
array(2) { ["azul"]=> int(1) ["verde"]=> int(3) })
En nuestro ejemplo puede ver que sólo las llaves 'azul' y 'verde' están presentes en ambas matrices y por lo tanto son regresadas. Tambi´n note que los valores para las llaves 'azul' y 'verde' son diferentes en las dos matrices. Aún así siguen coincidiendo porque se hace la comparación sólo en las llaves. Los valores regresados son aquellos de array1 .
Las dos llaves del par key => value, son considerados iguales solo si (string) $key1 === (string) $key2 . En otras palabras se hace un chequeo estricto del tipo de dato de tal manera que la representación de la cadena debe ser 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_ukey().