Все верно. array_diff тут ищет по значениям и значения из array2 (1 и 1) присутствуют в array1. Поменяете массивы местами и должно быть 12.
В сравнении не участвуют ключи sg_id, sg_rid для этого и нужен array_diff_assoc
+ понял, ему главное чтоб значение из масива 1 было в масиве 2, а то что ключи разные, пох понял.
Вроде array_diff_assoc как раз подойдет для моей задачи, сравнение, галерей из старого и нового сайта