filter_input_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input_array — Gets external variables and optionally filters them
Description
$type, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|nullThis function is useful for retrieving many values without repetitively calling filter_input().
Parameters
-
type -
One of
INPUT_GET,INPUT_POST,INPUT_COOKIE,INPUT_SERVER, orINPUT_ENV. -
options -
An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are
filterwhich specifies the filter type,flagswhich specifies any flags that apply to the filter, andoptionswhich specifies any options that apply to the filter. See the example below for a better understanding.This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.
-
add_empty -
Add missing keys as
nullto the return value.
Return Values
An array containing the values of the requested variables on success.
If the input array designated by type is not populated,
the function returns null if the FILTER_NULL_ON_FAILURE
flag is not given, or false otherwise. For other failures, false is returned.
An array value will be false if the filter fails, or null if
the variable is not set. Or if the flag FILTER_NULL_ON_FAILURE
is used, it returns false if the variable is not set and null if the filter
fails. If the add_empty parameter is false, no array
element will be added for unset variables.
Examples
Example #1 A filter_input_array() example
<?php
/* data actually came from POST
$_POST = array(
'product_id' => 'libgd<script>',
'component' => array('10'),
'version' => '2.0.33',
'testarray' => array('2', '23', '10', '12'),
'testscalar' => '2',
);
*/
$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'version' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$myinputs = filter_input_array(INPUT_POST, $args);
var_dump($myinputs);
echo "\n";
?>
The above example will output:
array(6) {
["product_id"]=>
string(17) "libgd%3Cscript%3E"
["component"]=>
array(1) {
[0]=>
int(10)
}
["version"]=>
string(6) "2.0.33"
["doesnotexist"]=>
NULL
["testscalar"]=>
int(2)
["testarray"]=>
array(4) {
[0]=>
int(2)
[1]=>
int(23)
[2]=>
int(10)
[3]=>
int(12)
}
}
Notes
Note:
There is no
REQUEST_TIMEkey inINPUT_SERVERarray because it is inserted into the $_SERVER later.
See Also
- filter_input() - Gets a specific external variable by name and optionally filters it
- filter_var_array() - Gets multiple variables and optionally filters them
- Types of filters

