(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.
arrayEl array que contiene las claves maestras a verificar.
arraysArrays 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.