filter_var
Проверяет или очищает значение по заданному правилу.
Синтаксис
filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixedПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $value | mixed | Проверяемое значение. |
| $filter | int | Правило: `FILTER_VALIDATE_EMAIL`, `FILTER_VALIDATE_INT`, `FILTER_VALIDATE_URL` и другие. |
| $options | array|int | Необязательный. Дополнительные настройки, например границы числа. |
Возвращаемое значение
mixedПроверенное значение или `false`, если оно не подошло.
Примеры
Почта и целое число:
<?php
var_dump(filter_var('anna@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('not-an-email', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('42', FILTER_VALIDATE_INT));Результат:
string(16) "anna@example.com"
bool(false)
int(42)Число в заданных границах:
<?php
$options = ['options' => ['min_range' => 1, 'max_range' => 120]];
var_dump(filter_var('25', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('500', FILTER_VALIDATE_INT, $options));Результат:
int(25)
bool(false)Примечания
При успехе возвращается само значение, уже нужного типа. Сравнивайте результат с false строго: число 0 — корректный результат.
См. также
- is_numeric — Проверяет, является ли значение числом или строкой с числом.
- htmlspecialchars — Заменяет специальные символы HTML на безопасные обозначения.
- intval — Преобразует значение в целое число.
Вопросы и ответы по теме
В учебнике
- Безопасность — Основы безопасности сайта на PHP — XSS и экранирование, SQL-инъекции, хеширование паролей, CSRF-токены и проверка входных данных.