Função array_uintersect_uassoc() do PHP
Exemplo
Compare os nomes e valores das chaves de dois arrays (usando funções personalizadas para comparação) e retorne a interseção (correspondências):
<?php function myfunction_key($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } function myfunction_value($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } $a1 = array("a" => "red", "b" => "green", "c" => "blue"); $a2 = array("a" => "red", "b" => "green", "c" => "green"); $result=array_uintersect_uassoc($a1, $a2, "myfunction_key", "myfunction_value"); print_r($result); ?>
Definição e uso
A função array_uintersect_uassoc() compara os nomes e valores das chaves de dois (ou mais) arrays e retorna a interseção.
Notas:Esta função usa duas funções personalizadas do usuário para comparação; a primeira compara os nomes das chaves, e a segunda compara os valores das chaves!
Esta função compara os nomes e valores das chaves de dois (ou mais) arrays e retorna um array de interseção, que inclui todas as chaves contidas nos arrays comparados (array1também em qualquer outro array de parâmetros (array2 ou array3 etc.) os nomes e valores das chaves.
Atenção, com array_uintersect() Diferente disso, também compara o nome da chave. O valor e o nome (índice) da chave são comparados com a função de callback.
Sintaxe
array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Parâmetros | Descrição |
---|---|
array1 | Obrigatório. O primeiro array a ser comparado com outros arrays. |
array2 | Obrigatório. O array a ser comparado com o primeiro array. |
array3,... | Opcional. Outros arrays para comparar com o primeiro array. |
myfunction_key |
Obrigatório. O nome da função de usuário personalizada usada para comparar nomes de array. Definir função de comparação chamável. |
myfunction_value |
Obrigatório. O nome da função de usuário personalizada usada para comparar valores de array. Definir função de comparação chamável. |
usar função de callback personalizada myfunction_key e myfunction_value para calcular a interseção de dois ou mais arrays (ou seja, array1 que existem em, e também em qualquer outro array, todos os elementos do array e retorna o array de resultado.
Compara tanto o nome quanto o valor das chaves, como "a"=>1 e "b"=>1 esses dois elementos são diferentes.
myfunction_key Essa função é usada para comparar se os nomes das chaves são iguais.myfunction_value Essas funções são usadas para comparar se os valores das chaves são iguais. Ambas as funções têm dois parâmetros para comparar. Se o primeiro parâmetro for menor que o segundo, a função retorna um número negativo, se os parâmetros forem iguais, deve retornar 0, se o primeiro parâmetro for maior que o segundo, retorna um número positivo.
Os nomes das chaves no array retornado permanecem inalterados.
Detalhes Técnicos
Retorno: | Retorna um array contendo todos os elementos que array1 em todos os outros arrays. |
Versão PHP: | 5+ |