(PHP 5 >= 5.2.0, PHP 7)
filter_input_array — Gets external variables and optionally filters them
This function is useful for retrieving many values without repetitively calling filter_input().
type
One of INPUT_GET
, INPUT_POST
,
INPUT_COOKIE
, INPUT_SERVER
, or
INPUT_ENV
.
definition
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 filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which 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 NULL
to the return value.
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.
Example #1 A filter_input_array() example
<?php
error_reporting(E_ALL | E_STRICT);
/* 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) } }
Version | Description |
---|---|
5.4.0 |
Added add_empty parameter.
|
Note:
There is no REQUEST_TIME key in
INPUT_SERVER
array because it is inserted into the $_SERVER later.