(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_key — Calcula la diferencia de dos arrays utilizando las claves para la comparación
Compara las claves del array array
con las claves
de los arrays arrays
y devuelve la diferencia.
Esta función es idéntica a la función array_diff(),
excepto en el hecho de que la comparación se realiza sobre las claves,
en lugar de sobre los valores.
array
El array a comparar
arrays
Arrays a comparar contra
Devuelve un array que contiene todas las entradas del array
array
cuyas claves están ausentes en
todos los otros arrays.
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_diff_key()
Las dos claves desde los pares clave => valor
se consideran iguales únicamente si
(string) $clave1 === (string) $clave2
. En otras palabras,
se realiza un análisis de tipo estricto, por lo que el tipo debe ser
exactamente el mismo.
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_key($array1, $array2));
?>
El resultado del ejemplo sería:
array(3) { ["blue"]=> int(1) ["red"]=> int(2) ["purple"]=> int(4) }
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);
var_dump(array_diff_key($array1, $array2, $array3));
?>
El resultado del ejemplo sería:
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
Nota:
Tenga en cuenta que esta función verifica únicamente una dimensión de un array que posee n dimensiones. Por supuesto, se puede verificar una dimensión más profunda utilizando, por ejemplo,
array_diff_key($array1[0], $array2[0]);
.