(PHP 5 >= 5.1.0, PHP 7)
array_intersect_key — Calcula la intersección de arrays usando sus claves para la comparación
$array1
, array $array2
[, array $...
] ) : array
array_intersect_key() devuelve un array
que contiene todos los valores de array1
que tienen claves que están presentes en todos los argumentos.
array1
El array con las claves maestras para verificar.
array2
Un array con el que comparar las claves.
...
Una lista variable de arrays para comparar.
Devuelve un array asociativo que contiene todas las entradas de
array1
que tienen claves que están presentes en todos
los argumentos.
Ejemplo #1 Ejemplo de array_intersect_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
El resultado del ejemplo sería:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
En el ejemplo se puede ver que sólo las claves 'blue'
y 'green' están presentes en ambos arrays, por lo que
son devueltas. Observe también que los valores de las claves
'blue' y 'green' difieren entre
los dos arrays. Sigue habiendo coincidencia porque solamente se verifican las claves.
Los valores devueltos son los de array1
.
Las dos claves de los pares clave => valor son consideradas iguales sólo si (string) $clave1 === (string) $clave2 . En otras palabras se ejecuta una verificación estricta de tipos, por lo que la representación del string debe ser la misma.