Я не собираюсь писать полное решение здесь, поскольку вы даже не начали с какого-либо кода, но вот как я бы начал:
Я бы порекомендовал написать функцию сравнения для простогомассивы function compare_arr(arr1, arr2, ignore_keys) { ... }
, которые вы можете вызвать для каждого подмассива в более конкретной функции сравнения для вашего многомерного массива.
Выполните цикл по парам ключ-значение (foreach?) и проверьте, является ли текущий ключнаходится в массиве ignore_keys
, тогда вы можете игнорировать этот элемент, в противном случае вы можете пометить значение как дубликат.Вы можете прервать это сравнение, если значения не совпадают.
Я думаю, что функция фильтра массива не помогает здесь полностью.