International PHP Conference Berlin 2025

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_ukeyComputa a diferença entre arrays usando uma função callback na comparação de chaves

Descrição

array_diff_ukey(array $array, array ...$arrays, callable $key_compare_func): array

Compara as chaves de array com as chaves de arrays e retorna a diferença. Esta função é similar a array_diff(), com exceção que a comparação é feita nas chaves ao invés dos valores.

Diferente de array_diff_key() uma função callback é fornecida e usada para comparação de índices, não função interna.

Parâmetros

array

O array a ser comparado

arrays

Arrays para comparar

key_compare_func

A função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.

callback(mixed $a, mixed $b): int
Cuidado

Retornar valores não inteiros da função de comparação, como float, resultará em uma conversão interna do valor retornado da função callback para int. Portanto, valores como 0.99 e 0.1 serão convertidos para o valor inteiro 0, o que comparará esses valores como iguais.

Valor Retornado

Retorna um array contendo todas as entradas de array que não estão presentes em nenhum outro array.

Exemplos

Exemplo #1 Exemplo da função array_diff_ukey()

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

$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

O exemplo acima produzirá:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notas

Nota:

Esta função verifica somente uma dimensão de um array n-dimensional. É claro que as dimensões mais profundas podem ser verificadas usando array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Veja Também

  • array_diff() - Computa 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 verificação adicional de índice, comparando dados por uma função de retorno
  • 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() - Computa a diferença entre arrays usando as chaves na comparação
  • 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() - Calcula a interseção de arrays, comparando pelas chaves
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de retorno nas chaves para comparação

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top