Função PHP array_diff_assoc ()
Definição e Uso
o array_diff_assoc() função compara dois arrays (ou mais) arrays e retorna a diferença.
Esta função compara as chaves e valores de duas (ou mais) matrizes e retorna uma matriz que contém as entradas de matriz1, mas que não estão presentes em matriz2 ou matriz3, etc.
Esta função é diferente de array_diff() porque array_diff () usa apenas valores para comparar com outros arrays onde array_diff_assoc() função usa chaves e valores ao comparar com outras matrizes.
Sintaxe
array array_diff_assoc( array $array1, array $array2 [, array $array3...] );
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 |
array1 (Required) É uma matriz para comparação |
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
A função array_diff_assoc () retorna um array contendo todos os valores de array1 que não estão presentes em nenhum dos outros arrays com as mesmas chaves.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP versão 4.3.0.
Exemplo
Experimente o seguinte exemplo. Aqui, "a" => "laranja" e "c" => "banana" estão presentes em ambas as matrizes, portanto, não está disponível no resultado -
<?php
$input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");
$input2 = array( "a"=>"orange", "b"=>"apple", "c"=>"banana");
print_r(array_diff_assoc($input1, $input2));
?>
Isso produzirá o seguinte resultado -
Array
(
[b] => mango
)
Exemplo
Aqui, ambas as matrizes têm chaves diferentes e valores correspondentes para todos os pares, por exemplo, "a" => "laranja" não está presente na segunda matriz, da mesma forma outros pares de valores de chave não estão presentes na segunda matriz, portanto, estarão disponíveis no resultado -
<?php
$input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");
$input2 = array( "a"=>"banana", "b"=>"apple", "c"=>"orange");
print_r(array_diff_assoc($input1, $input2));
?>
Isso produzirá o seguinte resultado -
Array
(
[a] => orange
[b] => mango
[c] => banana
)
Exemplo
Este exemplo esclarece que dois valores dos pares chave => valor são considerados iguais apenas se (string) $ elem1 === (string) $ elem2. -
<?php
$input1 = array(0, 5, 20);
$input2 = array("00", "05", "20");
$result = array_diff_assoc($input1, $input2);
print_r($result);
?>
Isso produzirá o seguinte resultado -
Array
(
[0] => 0
[1] => 5
)