(PHP 5 >= 5.1.0)
array_intersect_key — Computa a interseção de array comparando pelas chaves
array_intersect_key() retorna um array contendo todos os valores de array1 que tem as mesmas chaves presentes em todos os argumentos.
O array com as chaves a serem verificadas.
Um array para comparar as chaves.
Uma variável lista de arrays para comparação.
Retorna um array associativo contendo todos os valores de array1 que estão presentes em todos os argumentos.
Exemplo #1 Exemplo da 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));
?>
O exemplo acima irá imprimir:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
Em nosso exemplo você pode ver que somente as chaves 'blue' e 'green' estão presentes em ambos array e assim retornado. Também note que os valores das chaves 'blue' e 'green' diferem nos dois arrays. A combinação ocorre porque somente as chaves são verificadas. Os valores retornados são do array1.
As duas chaves do par key => value são considerados iguais somente se (string) $key1 === (string) $key2 . Em outras palavras um verificação do tipo é executada, então a representação string precisa ser a mesma.