array_diff_key

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

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

Descripción

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 ahora puede ser llamada con un solo parámetro. Anteriormente, se requerían al menos dos parámetros.

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 resultado del ejemplo sería:

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 resultado del ejemplo sería:

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 de dos arrays asociativos, compara los datos y los índices con una función de retrollamada
  • 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