filter_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_varFilters a variable with a specified filter

Description

filter_var(mixed$value, int$filter = FILTER_DEFAULT, array|int$options = 0): mixed

Parameters

value

Value to filter. Note that scalar values are converted to string internally before they are filtered.

filter

The ID of the filter to apply. The Types of filters manual page lists the available filters.

If omitted, FILTER_DEFAULT will be used, which is equivalent to FILTER_UNSAFE_RAW. This will result in no filtering taking place by default.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array. For the "callback" filter, callable type should be passed. The callback must accept one argument, the value to be filtered, and return the value after filtering/sanitizing it.

<?php
// for filters that accept options, use this format
$options = array(
'options' => array(
'default' => 3, // value to return if the filter fails

Return Values

Returns the filtered data, or false if the filter fails.

Examples

Example #1 A filter_var() example

<?php
var_dump
(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

The above example will output:

string(15) "bob@example.com" bool(false)

Example #2 Filter an array example

<?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) }

See Also

To Top