(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_key — Calcula la intersección de dos arrays utilizando las claves para la comparación
array_intersect_key() devuelve un array que contiene
todas las entradas del array array
que contienen claves presentes en todos los arrays pasados como argumentos.
array
El array que contiene las claves maestras a verificar.
arrays
Arrays a comparar.
Devuelve un array asociativo que contiene todas las entradas del
array array
cuyas claves están presentes
en todos los argumentos.
Versión | Descripción |
---|---|
8.0.0 | Esta función ahora puede ser llamada con un solo parámetro. Anteriormente, se requerían al menos dos parámetros. |
Ejemplo #1 Ejemplo con array_intersect_key()
<?php
$array1 = array('azul' => 1, 'rojo' => 2, 'verde' => 3, 'violeta' => 4);
$array2 = array('verde' => 5, 'azul' => 6, 'amarillo' => 7, 'cian' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
El resultado del ejemplo sería:
array(2) { ["azul"]=> int(1) ["verde"]=> int(3) }
En este ejemplo, se puede ver que solo las claves 'azul'
y 'verde'
están presentes en ambos arrays y por lo tanto,
son devueltas. Note también que los valores para las claves
'azul'
y 'verde'
difieren
entre los dos arrays. No obstante, aún corresponden porque
solo las claves son verificadas.
Los valores devueltos son los del array array1
.
Las dos claves desde los pares clave => valor
son consideradas iguales solo si
(string) $clave1 === (string) $clave2
. En otras palabras,
se realiza un análisis estricto del tipo, por lo que la representación en forma de
string debe ser exactamente la misma.