filter_var
Filters a variable with a specified filter
Description
mixed filter_var(mixed $value
, int $filter
= FILTER_DEFAULT
, arrayint $options
= 0)
Filter a variable using a
FILTER_VALIDATE_*
validation filters, a
FILTER_SANITIZE_*
sanitization filters, or a custom filter.
Parameters
-
value
-
Value to filter.
-
filter
-
The filter to apply.
Can be a validation filter by using one of the
FILTER_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 of FILTER_UNSAFE_RAW
.
This will result in no filtering taking place by default.
-
options
-
Either an associative array of options,
or a bitmask of filter flag constants
FILTER_FLAG_*
.
If the filter
accepts options,
flags can be provided by using the "flags"
field of array.
Return Values
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.
Examples
Example #1 A filter_var example
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
The above example will output:
string(15) "bob@example.com"
bool(false)
Example #2 Example validating entries of an array
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
The above example will output:
array(3) {
[0]=>
string(15) "bob@example.com"
[1]=>
string(18) "test@example.local"
[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:
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:
See Also
- filter_var_array
- filter_input
- filter_input_array
-
Validation filters
FILTER_VALIDATE_*
-
Sanitization filters
FILTER_SANITIZE_*