Função PHP array_diff_key ()
Definição e Uso
o array_diff_key() função compara o keys de array1 contra as chaves de array2, array3...etc e retorna um array com a diferença ie. as chaves que estão disponíveis em array1 e não disponíveis em array2, array3 ... etc. Esta função é comoarray_diff() função, exceto que a comparação é feita com base nas chaves em vez dos valores.
Sintaxe
array array_diff_key ( array $array1, array $array2 [, array $...] );
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | array1(Required) Esta primeira matriz será comparada com. |
2 | array2(Required) É uma matriz a ser comparada com a primeira matriz |
3 | array3(Optional) É uma matriz a ser comparada com a primeira matriz |
Valores Retornados
Esta função retorna um array contendo todas as chaves de array1 mas que não estão presentes em nenhuma das outras matrizes passadas para a função.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP versão 5.1.0
Exemplo
Este exemplo retorna 4 e 5 valores porque as três primeiras chaves (0, 1 e 2) são iguais em ambas as matrizes, embora seus valores sejam diferentes -
<?php
$input1 = array(1, 2, 3, 4, 5);
$input2 = array(4, 5, 6);
$result = array_diff_key($input1, $input2);
print_r($result);
?>
Isso produzirá o seguinte resultado -
Array
(
[3] => 4
[4] => 5
)
Exemplo
Este exemplo retorna um array vazio, porque array_diff_key () compara chaves e não valores porque descobre que ambos os arrays têm as mesmas chaves, embora valores diferentes, então não encontra nenhuma diferença -
<?php
$input4 = array(1, 2, 3);
$input5 = array(4, 5, 6);
$result = array_diff_key($input4, $input5);
print_r($result);
?>
Isso produzirá o seguinte resultado -
Array
(
)
Exemplo
Experimente o seguinte exemplo -
<?php
$input1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow", "f"=>"yellow");
$input2 = array("a"=>"red","b"=>"green","c"=>"blue");
$result = array_diff_key($input1, $input2);
print_r($result);
?>
Isso produzirá o seguinte resultado -
Array
(
[d] => yellow
[f] => yellow
)