(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filters a variable with a specified filter
filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed
Filter a variable using a FILTER_VALIDATE_* validation filters, a FILTER_SANITIZE_* sanitization filters, or a custom filter.
valueScalar values are converted to string internally before they are filtered.
filterFILTER_VALIDATE_* constants, a sanitization filter by using one of the FILTER_SANITIZE_* or FILTER_UNSAFE_RAW, or a custom filter by using FILTER_CALLBACK. Note: The default is
FILTER_DEFAULT, which is an alias ofFILTER_UNSAFE_RAW. This will result in no filtering taking place by default.
optionsFILTER_FLAG_*. If the filter accepts options, flags can be provided by using the "flags" field of array. On success returns the filtered data. On failure false is returned, unless the FILTER_NULL_ON_FAILURE flag is used, in which case null is returned.
Example #1 A filter_var() example
<?php
var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?> The above example will output:
string(15) "[email protected]" bool(false)
Example #2 Example validating entries of an array
<?php
$emails = [
"[email protected]",
"[email protected]",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?> The above example will output:
array(3) {
[0]=>
string(15) "[email protected]"
[1]=>
string(18) "[email protected]"
[2]=>
bool(false)
} Example #3 Example of passing an array for options
<?php
$options = [
'options' => [
'min_range' => 10,
],
'flags' => FILTER_FLAG_ALLOW_OCTAL,
];
var_dump(filter_var('0755', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('011', FILTER_VALIDATE_INT, $options));
?> The above example will output:
int(493) bool(false)
Example #4 Providing flags either directly or via an array
<?php $str = 'string'; var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)); var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE])); ?>
The above example will output:
NULL NULL
FILTER_VALIDATE_* FILTER_SANITIZE_*
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.filter-var.php