(PHP 5 >= 5.1.0)
array_intersect_key — Calcula la intersección de arrays usando las keys para la comparación
$array1
   , array $array2
   [, array $ ...
  ] )
   array_intersect_key() retorna un array
   que contiene todos los valores de array1
   los cuales tienen keys que están presentes en todos los argumentos.
  
array1Array con las keys maestras para verificar.
array2Un array contra el cual comparar las keys.
arrayUna lista variable de arrays para comparar.
   Retorna un array asociativo que contiene todas las entradas de
   array1 los cuales tienen keys que están presentes en todos
   los argumentos.
  
Ejemplo #1 Ejemplo de array_intersect_key()
<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
var_dump(array_intersect_key($array1, $array2));
?>
El resultado del ejemplo sería:
array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}
   En el ejemplo se puede ver que sólo las keys 'blue'
   y 'green' están presentes en ambos arrays y por lo tanto
   son retornadas. Se observa también que los valores para las claves
   'blue' y 'green' difieren entre
   los dos arrays. Sigue ocurriendo emparejamiento porque sólo las keys son verificadas.
   Los valores retornados son aquellos del array1.
  
Las dos keys de los pares key => value son consideradas iguales sólo si (string) $key1 === (string) $key2 . En otras palabras una verificación de tipo estricto es ejecutada, por lo cual la representación de la cadena debe ser la misma.