array_intersect_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_keyCalcula la intersección de dos arrays utilizando las claves para la comparación

Descripción

array_intersect_key(array $array, array ...$arrays): array

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.

Parámetros

array

El array que contiene las claves maestras a verificar.

arrays

Arrays a comparar.

Valores devueltos

Devuelve un array asociativo que contiene todas las entradas del array array cuyas claves están presentes en todos los argumentos.

Historial de cambios

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.

Ejemplos

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.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_udiff() - Calcula la diferencia entre dos arrays utilizando una función de retrollamada
  • array_diff_assoc() - Calcula la diferencia de dos arrays, teniendo en cuenta las claves
  • array_diff_uassoc() - Calcula la diferencia entre dos arrays asociativos, utilizando una función de retrollamada
  • array_udiff_assoc() - Calcula la diferencia entre arrays con verificación de índices, compara los datos con una función de retrollamada
  • array_udiff_uassoc() - Calcula la diferencia de dos arrays asociativos, compara los datos y los índices con una función de retrollamada
  • array_diff_key() - Calcula la diferencia de dos arrays utilizando las claves para la comparación
  • array_diff_ukey() - Calcula la diferencia entre dos arrays utilizando una función de retrollamada sobre las claves para comparación
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de dos arrays con pruebas sobre los índices
  • array_intersect_uassoc() - Calcula la intersección de dos arrays con pruebas en los índices, compara los índices utilizando una función de retrollamada
  • array_intersect_ukey() - Calcula la intersección de dos arrays utilizando una función de retrollamada sobre las claves para la comparación