(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_key — Calcula la diferencia entre arrays empleando las claves para la comparación
Compara las claves de array1
con las claves de array2
y devuelve la diferencia. Esta función es como array_diff() excepto que la comparación se hace con las claves en lugar de con los valores.
array1
El array a comparar
array2
Un array con el que comparar
...
Más arrays con los que comparar
Devuelve un array que contiene todas las entradas de array1
cuyas claves están ausente en ninguno de los otros arrays.
Ejemplo #1 Ejemplo de array_diff_key()
Las dos claves de los de pares clave => valor
son consideradas iguales solo si (string) $clave1 === (string) $clave2
. En otras palabras, se ejecuta una comprobación de tipos estricta de tal forma que las representaciones de tipo string deben ser las mismas.
<?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) }
Nota:
Esta función solamente comprueba una dimensión de un array n-dimensional. Se pueden comprobar dimensiones más profundas mediante
array_diff_key($array1[0], $array2[0]);
.