Gets multiple variables and optionally filters them

- « filter_list

- filter_var »

- PHP Manual
- Filter Functions
- Gets multiple variables and optionally filters them

# 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|null

This function is useful for retrieving many values without repetitively calling filter_var().

### Parameters

`array`

  An array with string keys containing the data to filter.

`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 `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.

### 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 = array(    'product_id'    => 'libgd<script>',    'component'     => '10',    'versions'      => '2.0.33',    'testscalar'    => array('2', '23', '10', '12'),    'testarray'     => '2',);$args = array(    'product_id'   => FILTER_SANITIZE_ENCODED,    'component'    => array('filter'    => FILTER_VALIDATE_INT,                            'flags'     => FILTER_FORCE_ARRAY,                             'options'   => array('min_range' => 1, 'max_range' => 10)                           ),    'versions'     => 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_FORCE_ARRAY,                           ));$myinputs = filter_var_array($data, $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)
      }
      ["versions"]=>
      string(6) "2.0.33"
      ["doesnotexist"]=>
      NULL
      ["testscalar"]=>
      bool(false)
      ["testarray"]=>
      array(1) {
        [0]=>
        int(2)
      }
    }

### 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
- Types of filters