PHP.nl

filter_var_array

filter_var_array

Gets multiple variables and optionally filters them

 **filter_var_array** array $array  $options bool $add_empty

Filter an associative array of values using

validation filters,

sanitization filters, or custom filters. FILTER_VALIDATE_*``FILTER_SANITIZE_*

arrayAn associative array containing the data to filter.

options Either an associative of options, or the filter to apply to each entry, which can either be a validation filter by using one of the

  constants, or a sanitization filter by using one of the
  
  constants.
 `array``FILTER_VALIDATE_*``FILTER_SANITIZE_*`


  The option array is an associative array where the key corresponds
  to a key in the data  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.
 `array`


  The associative array describing how a filter should be applied
  must contain the  key whose associated
  value is the filter to apply, which can be one of the
  ,
  ,
  , or
   constants.
  It can optionally contain the  key
  which specifies and flags that apply to the filter,
  and the  key which specifies any options
  that apply to the filter.
 `'filter'``FILTER_VALIDATE_*``FILTER_SANITIZE_*``FILTER_UNSAFE_RAW``FILTER_CALLBACK``'flags'``'options'`

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

Voorbeeld: A 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));

?>
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_input_array``filter_var``filter_input``FILTER_VALIDATE_*``FILTER_SANITIZE_*