(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Comprueba las diferencias entre matrices teniendo en cuenta los índices
array_diff_assoc() devuelve una matriz que contiene todos los valores de array1 que no estén presentes en ninguna de las otras matrices que se pasan como argumento. Hay que tener en cuenta que las claves de los valores se utilizan en la comparación, a diferencia de array_diff().
Example#1 Ejemplo de array_diff_assoc()
<?php
$array1 = array ("a" => "verde", "b" => "negro", "c" => "azul", "rojo");
$array2 = array ("a" => "verde", "amarillo", "rojo");
$result = array_diff_assoc ($array1, $array2);
/* El resultado es:
Array
(
[b] => negro
[c] => azul
[0] => rojo
)
*/
?>
En el ejemplo anterior se ve que el par "a" => "verde" está presente en ambas matrices y por ello no aparece en la matriz resultado. Por el contrario, el par 0 => "rojo" sí aparece en el resultado puesto que en el segundo argumento el valor "red" tiene la clave 1.
Dos valores de pares clave => valor se consideran iguales si y sólo si (string) $elem1 === (string) $elem2, es decir, cuando la representación de cadena es la misma.
Note: Hay que tener en cuenta que esta función sólo comprueba una dimensión de una matriz n-dimensional. Por supuesto, se pueden comprobar dimensiones sucesivas mediante: array_diff_assoc($array1[0], $array2[0]);.
Véase también array_diff(), array_intersect(), y array_intersect_assoc().