Compare os nomes e valores-chave de duas matrizes (use uma função definida pelo usuário para comparação) e retorne a diferença:
<?phpfunction minhafunção_key($a,$b){if ($a===$b) { return 0; return ($a>$b)?1:-1;}função meuvalor_função($a,$b ){se ($a===$b) { retornar 0 } retornar ($a>$b)?1:-1;}$a1=array("a"=>"vermelho","b"=>"verde","c"=>"azul");$a2= array("a"=>"vermelho","b"=>"verde","c"=> "verde");$resultado=array_udiff_uassoc($a1,$a2,"minhachave_defunção","meuvalor_defunção");print_r($resultado);?>A função array_udiff_uassoc() é usada para comparar os nomes e valores das chaves de dois (ou mais) arrays e retornar a diferença.
Nota: Esta função usa duas funções definidas pelo usuário para comparação; a primeira função compara nomes de chaves e a segunda função compara 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_uassoc( array1, array2, array3..., minha chave_de_função, meu valor_de_funçã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. |
minhachave_de_função | Obrigatório. O nome da função definida pelo usuário usada para comparar nomes de chaves de array. 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. |
minhafunção_valor | Obrigatório. O nome da função definida pelo usuário usada para comparar valores-chave da matriz. 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+ |