Função array_intersect_key() do PHP

Exemplo

Comparar os nomes de chaves de dois arrays e retornar a interseção:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");
$result=array_intersect_key($a1,$a2);
print_r($result);
?>

Executar Exemplo

Definição e uso

A função array_intersect_key() é usada para comparar os nomes de chaves de dois (ou mais) arrays e retornar a interseção.

A função compara os nomes de chaves de dois (ou mais) arrays e retorna um array de interseção que inclui todas as chaves dos arrays comparados (array1também em qualquer outro array de parâmetros (array2 ou array3 etc.) das chaves.

Explicação

A função array_intersect_key() usa a comparação de nomes de chaves para calcular a interseção dos arrays.

A função array_intersect_key() retorna um array que contém todos os valores das chaves que aparecem em todos os arrays comparados e também em todos os outros arrays parâmetros.

Comentário:Só os nomes das chaves são usados para comparação.

Sintaxe

array_intersect_key(array1,array2,array3...)
Parâmetros Descrição
array1 Obrigatório. O primeiro array a ser comparado com outros arrays.
array2 Obrigatório. O array a ser comparado com o primeiro array.
array3,... Opcional. Outros arrays a serem comparados com o primeiro array.

Detalhes Técnicos

Retorno: Retorna um array de interseção que inclui todas as chaves que estão em todos os arrays comparados (array1) e em qualquer outro array de parâmetros (array2 ou array3, etc).
Versão PHP: 5.1.0+

Mais Exemplos

Exemplo 1

Comparar os nomes das chaves de dois arrays de índices e retornar a interseção:

<?php
$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue");
$result=array_intersect_key($a1,$a2);
print_r($result);
?>

Executar Exemplo

Exemplo 2

Comparar os nomes das chaves de três arrays e retornar a interseção:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("c"=>"yellow","d"=>"black","e"=>"brown");
$a3=array("f"=>"green","c"=>"purple","g"=>"red");
$result=array_intersect_key($a1,$a2,$a3);
print_r($result);
?>

Executar Exemplo