array_diff_assoc and array_diff_uassoc both do the same thing (compute difference b/w array with additinal index check) the only difference is the later one accpet a callback.
The difference is just callback, In which case you should prefer array_diff_uassoc instead of array_diff_assoc.
I want to understand that If the callback is going to do the same as below is every case then what is the use of array_diff_uassoc
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}