|
filter_var_array
Gets multiple variables and optionally filters them
Description
arrayfalsenull filter_var_array(array $array , arrayint $options = FILTER_DEFAULT , bool $add_empty = true )
Filter an associative array of values using
FILTER_VALIDATE_*
validation filters,
FILTER_SANITIZE_*
sanitization filters, or custom filters.
Parameters
-
array
-
An associative array containing the data to filter.
-
options
-
Either an associative array of options,
or the filter to apply to each entry,
which can either be a validation filter by using one of the
FILTER_VALIDATE_*
constants, or a sanitization filter by using one of the
FILTER_SANITIZE_*
constants.
The option array is an associative array where the key corresponds
to a key in the data array and the associated
value is either the filter to apply to this entry,
or an associative array describing how and which filter should be
applied to this entry.
The associative array describing how a filter should be applied
must contain the 'filter' key whose associated
value is the filter to apply, which can be one of the
FILTER_VALIDATE_* ,
FILTER_SANITIZE_* ,
FILTER_UNSAFE_RAW , or
FILTER_CALLBACK constants.
It can optionally contain the 'flags' key
which specifies and flags that apply to the filter,
and the 'options' key which specifies any options
that apply to the filter.
-
add_empty
-
Add missing keys as null to the return value.
Return Values
An array containing the values of the requested variables on success, or false
on failure. An array value will be false if the filter fails, or null if
the variable is not set.
Examples
Example #1 A filter_var_array example
<?php
$data = [
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => ['2', '23', '10', '12'],
'testarray' => '2',
];
$filters = [
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => [
'min_range' => 1,
'max_range' => 10,
],
],
'versions' => [
'filter' => FILTER_SANITIZE_ENCODED
],
'testscalar' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
],
'testarray' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
],
'doesnotexist' => FILTER_VALIDATE_INT,
];
var_dump(filter_var_array($data, $filters));
?>
The above example will output:
array(6) {
["product_id"]=>
string(17) "libgd%3Cscript%3E"
["component"]=>
array(1) {
[0]=>
int(10)
}
["versions"]=>
string(6) "2.0.33"
["testscalar"]=>
bool(false)
["testarray"]=>
array(1) {
[0]=>
int(2)
}
["doesnotexist"]=>
NULL
}
See Also
- filter_input_array
- filter_var
- filter_input
-
Validation filters
FILTER_VALIDATE_*
-
Sanitization filters
FILTER_SANITIZE_*
|