Función array_diff_key
La función array_diff_key compara las claves de dos o más arrays y devuelve un array que contiene los elementos del primer array cuyas claves están ausentes en los demás arrays. La comparación se realiza solo por claves, los valores de los elementos no se tienen en cuenta.
Sintaxis
array_diff_key(array $array1, array $array2 [, array $...]): array
Ejemplo
Comparemos dos arrays por claves:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'd' => 5];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Resultado de la ejecución del código:
['b' => 2, 'c' => 3]
Ejemplo
Comparación de tres arrays por claves:
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 4 => 'e'];
$arr3 = [5 => 'f', 2 => 'g'];
$res = array_diff_key($arr1, $arr2, $arr3);
print_r($res);
?>
Resultado de la ejecución del código:
[3 => 'c']
Ejemplo
Uso de claves numéricas y de cadena:
<?php
$arr1 = ['color' => 'red', 1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 'size' => 'XL'];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Resultado de la ejecución del código:
['color' => 'red', 2 => 'b']
Ver también
-
la función
array_diff,
que compara arrays por valores -
la función
array_intersect_key,
que devuelve las claves coincidentes