( array array1, array array2 [, array ...] )
array_diff_assoc() returns an array containing all the values from array1 that are
not present in any of the other arguments. Note that the keys are used in the comparison unlike array_diff().
Example 1. array_diff_assoc() example
$array1 = array("a" => "green", "b"
=> "brown", "c" => "blue", "red");
$array2 = array("a" =>
"green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
The above example will output:
[b] => brown
[c] => blue
 => red
In our example above you see the "a" => "green" pair is present in both arrays and thus it is not in the ouput from the function. Unlike this, the pair 0 => "red" is in the ouput because in the second argument "red" has key which is 1.
Two values from key => value pairs are considered equal only if (string) $elem1 === (string) $elem2 . In other
words a strict check takes place so the string representations must be the same.
Note: Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example, array_diff_assoc($array1, $array2);.
See also array_diff(), array_intersect(), and array_intersect_assoc().