LordOfARing откуда вы вообще взяли это nunique()? С чего вы решили, что оно вам надо? почему вдруг нужно подсчитать количество элементов в списке без len?
КАКАЯ проверка?
В этом коде вообще нет никаких проверок, только вывод.
Мы можете внятно вопрос задать? Приведя здесь примеры массивов $filters и $id и описав здесь конечный результат?
От какого $tegi надо выводить $tegi[0], если совпадут оба? или у $tegi[0] всегда одно и то же значение?
Зачем эта функция возвращает массив? Она как-то меняет переданные в неё данные?
Функция должна делать что-то одно - либо проверять данные, либо изменять их
вы написали целый ответ, который вообще не бьётся с условиями, описанными в вопросе.
я так понимаю, что вас, как и автора вопроса, логика не интересует - главное написать что-нибудь с умным видом
но спамер - это я (: