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
array_intersect_key(array1, array2, array3, ...);
Ejemplo
Comparemos dos arrays por claves:
<?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:
['a' => 1, 'c' => 3]
Ejemplo
Comparemos tres arrays por claves:
<?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:
[1 => 'a']
Ejemplo
Comparación de arrays con diferentes tipos de claves:
<?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:
['1' => 'a', 2 => 'b']
Ver también
-
la función
array_intersect,
que compara arrays por valores -
la función
array_diff_key,
que compara arrays por claves y devuelve la diferencia -
la función
array_intersect_assoc,
que compara tanto claves como valores