Recomendação de curso:
Função array_udiff() do PHP
Exemplo
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } Comparar os valores das chaves de dois arrays (usar função personalizada para comparar valores das chaves) e retornar a diferença: $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $result=$a2=array("a"=>"blue","b"=>"black","e"=>"blue");; print_r($result); ?>
array_udiff($a1,$a2,"myfunction")
Definição e uso
array_udiff() é usada para comparar os valores das chaves de dois (ou mais) arrays e retornar a diferença.Comentário:
A função compara os valores das chaves de duas (ou mais) arrays e retorna um array de diferença, que inclui todos os valores que estão nos arrays comparados.array1)mas não está presente em qualquer outro array de parâmetros (array2 ou array3 etc.) os valores de chave.
Descrição
A função array_udiff() retorna um array que inclui todos os valores que estão em qualquer um dos arrays comparados, mas não em nenhum dos outros arrays parâmetros, mantendo os nomes das chaves.
A função array_udiff() é comparada com array_diff() O comportamento da função é diferente, a segunda usa uma função interna para comparação.
A comparação de dados é feita com a função array_udiff() myfunction realizada.myfunction A função possui dois parâmetros que serão comparados. Se o primeiro parâmetro for menor que o segundo, a função retornará um número negativo, se os parâmetros forem iguais, retornará 0, e se o primeiro parâmetro for maior que o segundo, retornará um número positivo.
sintaxe
array_udiff(array1,array2,array3...myfunction)}}
Parâmetros | Descrição |
---|---|
array1 | Obrigatório. Primeiro array para comparar com outros arrays. |
array2 | Obrigatório. Array para comparar com o primeiro array. |
array3,... | Opcional. Outros arrays para comparar com o primeiro array. |
myfunction |
Obrigatório. Valor de string, define a função callable. Se o primeiro parâmetro for menor ou igual a maior que o segundo parâmetro, a função de comparação deve retornar um inteiro menor ou igual a maior que 0. |
Detalhes Técnicos
Retorno: | Retorna o array de diferença, que contém todas as chaves em todos os arrays comparados (array1)mas não está presente em qualquer outro array de parâmetros (array2 ou array3 etc.) os valores de chave. |
Versão PHP: | 5.1.0+ |
Mais Exemplos
Exemplo 1
Comparar os valores de chave de três arrays (usando função personalizada do usuário para comparar chaves) e retornar a diferença:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>