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);
?>

Exemplo de execução

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+