array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukeyComputa a interseção de arrays usando uma função de callback nas chaves para comparação

Descrição

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_intersect_ukey() retorna um array contendo todos os valores de array1 que têm as mesmas chaves presentes em todos os argumentos.

Esta comparação é feita por uma função de callback fornecida pelo usuário. Ela deve retornar um inteiro menor que, igual a, ou maior que zero se o primeiro argumento é considerado, respectivamente, menor que, igual a, ou maior que o segundo.

Parâmetros

array1

Array inicial para comparação dos arrays.

array2

Primeiro array para comparar as chaves.

array

Lista variável de argumentos para comparar as chaves.

key_compare_func

Função de callback fornecida pelo usuário para comparação.

Valor Retornado

Retorna os valores de array1 cujas chaves existem em todos os argumentos.

Exemplos

Example #1 Exemplo de array_intersect_ukey()

<?php
function key_compare_func($key1$key2)
{
    if (
$key1 == $key2)
        return 
0;
    else if (
$key1 $key2)
        return 
1;
    else
        return -
1;
}

$array1 = array('azul'  => 1'vermelho'  => 2'verde'  => 3'roxo' => 4);
$array2 = array('verde' => 5'azul' => 6'amarelo' => 7'rosa'  => 8);

var_dump(array_intersect_ukey($array1$array2'key_compare_func'));
?>

O exemplo acima irá imprimir:

array(2) {
  ["azul"]=>
  int(1)
  ["verde"]=>
  int(3)
}

Em nosso exemplo você vê que somente as chaves 'azul' e 'verde' estão presentes em ambos os arrays e assim retornadas. Também note que os valores para as chaves 'azul' e 'verde' diferem entre os dois arrays. Uma combinação ainda ocorre porque somente as chaves são checadas. Os valores retornados são os do array1.

Veja Também

  • array_diff() - Analisa as diferenças entre arrays
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que é feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_diff_key() - Registra a diferença entre arrays usando chaves para comparação
  • array_diff_ukey() - Computa a diferença de arrays usando uma função callback na comparação de chaves
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_key() - Computa a interseção de array comparando pelas chaves