Случайно нашел данную фукнцию. Посмотрел в документации какие данные она умеет фильтровать. Также почитал немного комментариев, из которых сделал вывод, что применяется она не часто, хотя функциональность у нее полезна.
Почему так, и реально стоит ли ее применять, если например строишь свой велосипед? (новичок, практикуюсь)
у нее проблемы с русским языком бывают. Например фильтр почты. Если почта на русском домене типа "почта@мойсайт.рф" не пропустит. Хотя фактически почта валидна.
abbrakadabbra: Конечно, с ее помощью можно отфильтровать все входящие данные не прибегая к простыне самописного кода. Если несколько значений приходит, можно использовать filter_var_array, предварительно описав правила для каждого.
Использовать фильтры или нет, решать только Вам! По сути, это те же самые регулярные выражения, только уже стандартизованные под конкретные задачи. Лично я использовал данную возможность в своих проектах. Кстати говоря, некоторые фреймворки (Lavarel, CodeIgniter, и т.д.) тоже используют filter_var() в своём коде.
Дмитрий Верхоумов Ответил сам себе на вопрос вчера: пришлось использовать filter_var Для фильтрации входящего id при post-запросе, иначе можно было подставить "123d" и SQL-запрос все-равно выполнялся. Сделал фильтрацию по типу INT и работает как надо! Позже нашел объяснение где-то на Stackoverflow. Например (int) не сделает такую фильтрацию.
abbrakadabbra: для валидации ID лучше используйте строгую типизацию или приведение типов:
$a = '123a';
$b = (int) $a;
Здесь $a - строка, а $b - число 123.
Если в качестве аргумента пришла строка '123a', а можно получать только числа, например, 123, то лучше игнорировать подобные запросы. Просто проверяете входящий аргумент через is_integer().