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

phparray_diff_key(array $array1, array $array2 [, array $...]): array

Ejemplo

Comparemos dos arrays por claves:

php<?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:

php['b' => 2, 'c' => 3]

Ejemplo

Comparación de tres arrays por claves:

php<?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:

php[3 => 'c']

Ejemplo

Uso de claves numéricas y de cadena:

php<?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:

php['color' => 'red', 2 => 'b']

Ver también