(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_diff_assoc — Calcula la diferencia entre arrays con un chequeo adicional de índices
$array1
, array $array2
[, array $...
] ) : array
Compara array1
con array2
y
devuelve la diferencia. A diferencia de array_diff(),
también se usan las claves de los arrays en la comparación.
array1
El array a comparar.
array2
Un array con el que comparar
...
Más arrays con los que comparar
Devuelve un array que contiene todos los valores de
array1
que no están presentes en ninguno de los otros arrays.
Ejemplo #1 Ejemplo de array_diff_assoc()
En este ejemplo se ve que el par "a" => "green" está presente en ambos arrays y, por lo tanto, no está en la salida de la función. Al contrario, el par 0 => "red" está en la salida ya que en el segundo argumento "red" tiene una clave que es 1.
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$resultado = array_diff_assoc($array1, $array2);
print_r($resultado);
?>
El resultado del ejemplo sería:
Array ( [b] => brown [c] => blue [0] => red )
Ejemplo #2 Ejemplo de array_diff_assoc()
Dos valores de pares clave => valor son considerados iguales sólo si (string) $elem1 === (string) $elem2 . En otras palabras, se realiza un un chequeo estricto de tal forma que las representaciones de string debe ser las mismas.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$resultado = array_diff_assoc($array1, $array2);
print_r($resultado);
?>
El resultado del ejemplo sería:
Array ( [0] => 0 [1] => 1 )
Nota: Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar arrays de más dimensiones usando, por ejemplo, array_diff_assoc($array1[0], $array2[0]);.
Nota: Asegúrese de proporcionar los argumentos en el orden corrector al comparar arrays similares con más claves. El nuev array debería ser el primero de la lista.