Compare os valores-chave de duas matrizes (usando uma função definida pelo usuário para comparar os 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"=>"azul","b "=>"preto","e"=>"azul");$resultado=array_udiff($a1,$a2,"minhafunção");print_r($resultado);?>A função array_udiff() é usada para comparar os valores-chave de dois (ou mais) arrays e retornar a diferença.
Nota: Esta função usa uma função definida pelo usuário para comparar valores-chave!
Esta função compara os valores-chave de duas (ou mais) matrizes e retorna uma matriz de diferença que inclui todos os valores na matriz comparada ( array1 ), mas não em qualquer outra matriz de argumentos ( array2 ou array3, etc.) no valor chave.
array_udiff( 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 que estão na matriz comparada ( array1 ), mas não em qualquer outra matriz de argumentos ( array2 ou array3 , etc.). |
---|---|
Versão PHP: | 5.1.0+ |
Compare os valores-chave de três arrays (use uma função definida pelo usuário para comparar os 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","amarelo") ;$a2=array("A"=>"vermelho","b"=>"VERDE","amarelo","preto ");$a3=array("a"=>"verde","b"=>"vermelho","amarelo","preto");$resultado=array_udiff($a1,$a2,$a3," minhafunção");print_r($resultado);?>