function array_diff_assoc_recursive($array1, $array2){ foreach($array1 as $key => $value){ if(is_array($value)){ if(!isset($array2[$key])){ $difference[$key] = $value; }else if(!is_array($array2[$key])){ $difference[$key] = $value; }else{ $new_diff = array_diff_assoc_recursive($value, $array2[$key]); if($new_diff != FALSE){ $difference[$key] = $new_diff; } } }else if(!isset($array2[$key]) || $array2[$key] != $value){ $difference[$key] = $value; } } return !isset($difference) ? 0 : $difference; }