Compare os nomes e valores-chave de duas matrizes (use funções integradas para comparar nomes de chaves, use funções definidas pelo usuário para comparar valores-chave) e retorne a diferença:
<?phpfunction minhafunção($a,$b){if ($a===$b) { return 0 } ($a>$b)?1:-1;}$a1=array("a"=>"vermelho","b"=>"verde","c"=>"azul");$a2= array("a"=>"vermelho","b"=> "azul","c"=>"verde");$resultado=array_udiff_assoc($a1,$a2,"minhafunção");print_r($resultado);?>A função array_udiff() é usada para comparar os nomes e valores-chave de dois (ou mais) arrays e retornar a diferença.
Nota: Esta função usa funções integradas para comparar nomes de chaves e funções definidas pelo usuário para comparar valores de chaves!
Esta função compara as chaves e valores de dois (ou mais) arrays e retorna um array de diferenças que inclui todos os elementos do array comparado ( array1 ), mas não em nenhum dos outros arrays de argumentos ( array2 ou array3 etc.) no nome da chave e valor da chave.
array_udiff_assoc( array1,array2,array3...,minhafunção )
parâmetro | descrever |
---|---|
matriz1 | Obrigatório. A primeira matriz a ser comparada com outras matrizes. |
matriz2 | Obrigatório. A matriz a ser comparada com a primeira matriz. |
matriz3,... | Opcional. Matriz adicional para comparar com a primeira matriz. |
minha função | Obrigatório. Uma string que define uma função de comparação que pode ser chamada. Se o primeiro parâmetro for <, =, > o segundo parâmetro, a função de comparação correspondente deverá retornar um número inteiro <, =, > 0. |
Valor de retorno: | Retorna uma matriz de diferença que inclui todas as chaves e valores que estão na matriz comparada ( array1 ), mas não em qualquer outra matriz de parâmetros ( array2 ou array3 , etc.). |
---|---|
Versão PHP: | 5+ |