(PHP 5 >= 5.1.0, PHP 7)
array_intersect_key — Computa a interseção de array comparando pelas chaves
$array1
, array $array2
[, array $ ...
] )
array_intersect_key() retorna um array
contendo todos os valores de array1
que tem as mesmas chaves presentes em todos os argumentos.
array1
O array com as chaves a serem verificadas.
array2
Um array para comparar as chaves.
array
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.