Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário

# array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

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

### Descrição

function array_diff_uassoc(array `$array`, array `...$arrays`, callable `$key_compare_func`): array

Compara `array` com `arrays` e retorna a diferença. Ao contrário de array_diff(), as chaves dos arrays são usadas na comparação.

Ao contrário de array_diff_assoc(), uma função de callback fornecida pelo usuário é usada na comparação dos índices, não uma 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.
  function 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 qualquer um dos outros arrays.

### Exemplos

Exemplo #1 Exemplo de array_diff_uassoc()

Neste exemplo o `"a" => "verde"` está presente em ambos os arrays e assim não está na saída da função. Ao contrário disso, o par `0 => "vermelho"` está na saída porque a chave de `"vermelho"` é atribuído automaticamente como `0` no primeiro array, enquanto é atribuído em `1` no segundo array, já que a chave `0` já foi atribuída a `amarelo`.

    <?php
    function key_compare_func($a, $b)
    {
        return $a <=> $b;
    }

    $array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
    $array2 = array("a" => "verde", "amarelo", "vermelho");
    $result = array_diff_uassoc($array1, $array2, "key_compare_func");
    print_r($result);
    ?>

O exemplo acima produzirá:

    Array
    (
        [b] => marrom
        [c] => azul
        [0] => vermelho
    )

A igualdade de 2 índices é checada pela função de callback fornecida pelo usuário.

### Notas

> Nota:

> Esta função checa somente uma dimensão de um array n-dimensional. É possível verificar dimensões mais profundas usando, por exemplo, `array_diff_uassoc($array1[0], $array2[0], "key_compare_func");`.

### Veja Também

- array_diff() - Computa as diferenças entre arrays
- array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
- array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
- 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_intersect() - Calcula a interseção entre arrays
- array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
- array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
- array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
- array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open