array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assocCalcula la diferencia de dos arrays, teniendo en cuenta las claves

Descripción

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

Compara array con los arrays arrays y devuelve la diferencia. A diferencia de la función array_diff(), las claves del array también se utilizan en la comparación.

Parámetros

array

El array a comparar

arrays

Arrays a comparar contra

Valores devueltos

Devuelve un array que contiene todos los valores del array array que no están presentes en los otros arrays.

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_diff_assoc()

En este ejemplo, el par "a" => "green" está presente en ambos arrays, y por lo tanto, no está presente en el resultado de la función. Por el contrario, el par 0 => "red" está presente en el resultado, ya que la clave de "red" es automáticamente asignada a 0 en el primer array, mientras que es asignada a 1 en el segundo array, ya que la clave 0 ya está asignada a yellow.

<?php
$array1
= array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Ejemplo #2 Ejemplo con array_diff_assoc()

Dos valores de los pares clave => valor se consideran iguales solo si (string) $elem1 === (string) $elem2 . En otras palabras, se realiza una verificación estricta en la representación en strings.

<?php
$array1
= array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 0
    [1] => 1
)

Notas

Nota: Esta función solo verifica una dimensión de un array multidimensional. Es posible verificar subdimensiones utilizando, por ejemplo, array_diff_assoc($array1[0], $array2[0]);.

Nota: Es necesario asegurarse de que los argumentos se proporcionen en el orden correcto al comparar arrays similares con más claves. El nuevo array debe ser el primero de la lista.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • 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_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de dos arrays con pruebas sobre los índices