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.
Warning

Scalar values are converted to string internally before they are filtered.

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:

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

See Also

  • filter_var_array
  • filter_input
  • filter_input_array
  • Validation filters FILTER_VALIDATE_*
  • Sanitization filters FILTER_SANITIZE_*