Función array_intersect_key

La función array_intersect_key acepta varios arrays y devuelve un nuevo array, que contiene los elementos del primer array cuyas claves están en todos los demás arrays. La comparación se realiza solo por claves, los valores no se tienen en cuenta.

Sintaxis

phparray_intersect_key(array1, array2, array3, ...);

Ejemplo

Comparemos dos arrays por claves:

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['a' => 4, 'c' => 5, 'd' => 6];
  
  $res = array_intersect_key($arr1, $arr2);
  print_r($res);
?>

Resultado de ejecutar el código:

php['a' => 1, 'c' => 3]

Ejemplo

Comparemos tres arrays por claves:

php<?php
  $arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
  $arr2 = [1 => 'd', 3 => 'e'];
  $arr3 = [1 => 'f', 4 => 'g'];
  
  $res = array_intersect_key($arr1, $arr2, $arr3);
  print_r($res);
?>

Resultado de ejecutar el código:

php[1 => 'a']

Ejemplo

Comparación de arrays con diferentes tipos de claves:

php<?php
  $arr1 = ['1' => 'a', 2 => 'b'];
  $arr2 = [1 => 'c', '2' => 'd'];
  
  $res = array_intersect_key($arr1, $arr2);
  print_r($res);
?>

Resultado de ejecutar el código:

php['1' => 'a', 2 => 'b']

Ver también