array_diff_assoc Computes the difference of arrays with additional index check &reftitle.description; arrayarray_diff_assoc arrayarray1 arrayarray2 array... Compares array1 against array2 and returns the difference. Unlike array_diff the array keys are also used in the comparison. &reftitle.parameters; array1 The array to compare from array2 An array to compare against ... More arrays to compare against &reftitle.returnvalues; Returns an array containing all the values from array1 that are not present in any of the other arrays. &reftitle.examples; <function>array_diff_assoc</function> example In this example you see the "a" => "green" pair is present in both arrays and thus it is not in the output from the function. Unlike this, the pair 0 => "red" is in the output because in the second argument "red" has key which is 1. "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "yellow", "red"); $result = array_diff_assoc($array1, $array2); print_r($result); ?> ]]> &example.outputs; brown [c] => blue [0] => red ) ]]> <function>array_diff_assoc</function> example 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. ]]> &example.outputs; 0 [1] => 1 ) ]]> &reftitle.notes; 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[0], $array2[0]);. Ensure you pass arguments in the correct order when comparing similar arrays with more keys. The new array should be the first in the list. &reftitle.seealso; array_diff array_intersect array_intersect_assoc