(PHP 5 >= 5.1.0, PHP 7)
array_diff_key — Calcula la diferencia entre arrays empleando las claves para la comparación
$array1
, array $array2
[, array $...
] ) : array
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]);.