filter_var_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var_array — Gets multiple variables and optionally filters them
Description
filter_var_array(array
$array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|nullFilter 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 theFILTER_SANITIZE_*constants. The option array is an associative array where the key corresponds to a key in the dataarrayand 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 theFILTER_VALIDATE_*,FILTER_SANITIZE_*,FILTER_UNSAFE_RAW, orFILTER_CALLBACKconstants. 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_emptyAdd missing keys as
nullto 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() - Gets external variables and optionally filters them
- filter_var() - Filters a variable with a specified filter
- filter_input() - Gets a specific external variable by name and optionally filters it
- Validation filters
FILTER_VALIDATE_* - Sanitization filters
FILTER_SANITIZE_*
↑ and ↓ to navigate • Enter to select • Esc to close • / to open