Compare os nomes e valores das chaves das duas matrizes (use uma função definida pelo usuário para comparar os nomes das chaves) e retorne a diferença:
<?phpfunction minhafunção($a,$b){if ($a===$b) { return 0 } return ($a>$b)?1:-1;}$a1=array("a"=>"vermelho","b"=>"verde","c"=>"azul");$a2= array("d"=>"vermelho","b"=> "verde","e"=>"azul");$resultado=array_diff_uassoc($a1,$a2,"minhafunção");print_r($resultado);?>A função array_diff_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 uma função definida pelo usuário para comparar nomes de teclas!
Esta função compara as chaves e valores de dois (ou mais) arrays e retorna um array de diferença 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_diff_uassoc( 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+ |
Compare os nomes das chaves e os valores das três matrizes (use uma função definida pelo usuário para comparar os nomes das chaves) 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"=>"verde","d"=>"azul");$a3=a rray("e"=>"amarelo","a"=>"vermelho","d"=>"azul");$result=array_diff_uassoc($a1,$a2,$a3,"minhafunção");print_r ($resultado);?>