(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var_array — Gets multiple variables and optionally filters them
$array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null
   Filter an associative array of values using
   FILTER_VALIDATE_*
   validation filters,
   FILTER_SANITIZE_*
   sanitization filters, or custom filters.
  
arrayoptionsFILTER_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.
     
   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.
  
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
}
FILTER_VALIDATE_*
   FILTER_SANITIZE_*