Calcula la diferencia de dos arrays utilizando las claves para la comparación

# array_diff_key

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

array_diff_key — Calcula la diferencia de dos arrays utilizando las claves para la comparación

### Descripción

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

Compara las claves del array `array` con las claves de los arrays `arrays` y devuelve la diferencia. Esta función es idéntica a la función array_diff(), excepto en el hecho de que la comparación se realiza sobre las claves, en lugar de sobre los valores.

### Parámetros

`array`

  El array a comparar

`arrays`

  Arrays a comparar contra

### Valores devueltos

Devuelve un array que contiene todas las entradas del array `array` cuyas claves están ausentes en todos los otros arrays.

### Historial de cambios

Versión | Descripción
--- | ---
8.0.0 | Esta función puede ser llamada ahora con un solo parámetro. Anteriormente, al menos dos parámetros eran necesarios.

### Ejemplos

Ejemplo #1 Ejemplo con array_diff_key()

Las dos claves desde los pares `clave => valor` se consideran iguales únicamente si `(string) $clave1 === (string) $clave2` . En otras palabras, se realiza un análisis de tipo estricto, por lo que el tipo debe ser exactamente el mismo.

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

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

El ejemplo anterior mostrará:

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

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

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

El ejemplo anterior mostrará:

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

### Notas

> Nota:

> Tenga en cuenta que esta función verifica únicamente una dimensión de un array que posee n dimensiones. Por supuesto, se puede verificar una dimensión más profunda utilizando, por ejemplo, `array_diff_key($array1[0], $array2[0]);`.

### Ver también

- array_diff() - Calcula la diferencia entre arrays
- array_udiff() - Calcula la diferencia entre dos arrays utilizando una función de retrollamada
- array_diff_assoc() - Calcula la diferencia de dos arrays, teniendo en cuenta las claves
- array_diff_uassoc() - Calcula la diferencia entre dos arrays asociativos, utilizando una función de retrollamada
- array_udiff_assoc() - Calcula la diferencia entre arrays con verificación de índices, compara los datos con una función de retrollamada
- array_udiff_uassoc() - Calcula la diferencia entre dos arrays asociativos, compara los datos y los índices con una función de retorno
- array_diff_ukey() - Calcula la diferencia entre dos arrays utilizando una función de retrollamada sobre las claves para comparación
- array_intersect() - Calcula la intersección de arrays
- array_intersect_assoc() - Calcula la intersección de dos arrays con pruebas sobre los índices
- array_intersect_uassoc() - Calcula la intersección de dos arrays con pruebas en los índices, compara los índices utilizando una función de retrollamada
- array_intersect_key() - Calcula la intersección de dos arrays utilizando las claves para la comparación
- array_intersect_ukey() - Calcula la intersección de dos arrays utilizando una función de retrollamada sobre las claves para la comparación

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