Computa a diferença entre arrays usando as chaves na comparação

# array_diff_key

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

array_diff_key — Computa a diferença entre arrays usando as chaves na comparação

### Descrição

function array_diff_key(array `$array`, array `...$arrays`): array

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

### Parâmetros

`array`

  O array a ser comparado

`arrays`

  Arrays para comparar

### Valor Retornado

Retorna um array contendo todas as entradas de `array` cujas chaves não estão presentes em qualquer dos outros arrays.

### Registro de Alterações

Versão | Descrição
--- | ---
8.0.0 | Esta função agora pode ser chamada com apenas um parâmetro. Anteriormente, pelo menos dois parâmetros eram necessários.

### Exemplos

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

As duas chaves dos pares `chave => valor` são consideradas iguais somente se `(string) $key1 === (string) $key2` . Em outras palavras, uma checagem de tipo estrita é feita para que representações de string sejam as mesmas.

    <?php
    $array1 = array('azul' => 1, 'vermelho' => 2, 'verde' => 3, 'roxo' => 4);
    $array2 = array('verde' => 5, 'amarelo' => 6, 'ciano' => 8);

    var_dump(array_diff_key($array1, $array2));
    ?>

O exemplo acima produzirá:

    array(3) {
      ["azul"]=>
      int(1)
      ["vermelho"]=>
      int(2)
      ["roxo"]=>
      int(4)
    }

    <?php
    $array1 = array('azul' => 1, 'vermelho'  => 2, 'verde' => 3, 'roxo' => 4);
    $array2 = array('verde' => 5, 'amarelo' => 7, 'ciano' => 8);
    $array3 = array('azul' => 6, 'amarelo' => 7, 'malva' => 8);

    var_dump(array_diff_key($array1, $array2, $array3));
    ?>

O exemplo acima produzirá:

    array(2) {
      ["vermelho"]=>
      int(2)
      ["roxo"]=>
      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_key($array1[0], $array2[0]);`.

### 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_ukey() - Computa a diferença entre 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() - 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

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