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); ?>
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); ?>
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); ?>