filter_id
filter_input
Filter Fonctions
PHP Manual

# filter_input_array

(PHP 5 >= 5.2.0)

filter_input_array — Récupère plusieurs valeurs externes et les filtre

### Description

mixed filter_input_array ( int `$type` [, mixed `$definition` [, bool `$add_empty` = true ]] )

Cette fonction est utile pour récupérer plusieurs valeurs sans avoir à appeler plusieurs fois la fonction filter_input().

### Liste de paramètres

`type`

  Une constante parmi `INPUT_GET`, `INPUT_POST`, `INPUT_COOKIE`, `INPUT_SERVER` ou `INPUT_ENV`.

`definition`

  Un tableau définissant les arguments. Une clé valide est une chaîne de caractères contenant le nom de la variable et une valeur valide est soit le type d'un filtre, soit un tableau spécifiant le filtre, les drapeaux et les options. Si la valeur est un tableau, les clés valides sont filter qui spécifie le type du filtre, flags qui spécifie tous les drapeaux à appliquer au filtre, et options qui spécifie toutes les options à appliquer au filtre. Voir l'exemple ci-dessous pour une meilleure compréhension.

  Ce paramètre peut également être un entier contenant une constante de filtre. Ensuite, toutes les valeurs du tableau d'entrée seront filtrées par ce filtre.

`add_empty`

  Ajout des clés manquantes à la valeur `NULL` dans la valeur retournée.

### Valeurs de retour

Un tableau contenant les valeurs des variables demandées en cas de succès, ou `FALSE` si une erreur survient. Un tableau de valeurs peut valoir `FALSE` si le filtre échoue, ou `NULL` si la variable n'est pas définie. Ou, si le drapeau `FILTER_NULL_ON_FAILURE` est utilisé, la fonction retournera `FALSE` si la variable n'est pas définie et `NULL` si le filtre échoue.

### Exemples

Exemple #1 Exemple avec filter_input_array()

`<?php
error_reporting(E_ALL | E_STRICT);
/* les données arrivent depuis POST
$_POST = 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_REQUIRE_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_REQUIRE_ARRAY,
)
);
$myinputs = filter_input_array(INPUT_POST, $args);
var_dump($myinputs);
echo "\n";
?>`

L'exemple ci-dessus va afficher :

    array(6) {
      ["product_id"]=>
      array(1) {
        [0]=>
        string(17) "libgd%3Cscript%3E"
      }
      ["component"]=>
      array(1) {
        [0]=>
        int(10)
      }
      ["versions"]=>
      array(1) {
        [0]=>
        string(6) "2.0.33"
      }
      ["doesnotexist"]=>
      NULL
      ["testscalar"]=>
      bool(false)
      ["testarray"]=>
      array(1) {
        [0]=>
        int(2)
      }
    }

### Historique

Version | Description
--- | ---
5.4.0 | Ajout du paramètre `add_empty`.

### Notes

> Note:

> Il n'y a pas de clé REQUEST_TIME dans le tableau `INPUT_SERVER` car elle est insérée dans la variable $_SERVER plus tard.

### Voir aussi

- filter_input() - Récupère une variable externe et la filtre
- filter_var_array() - Récupère plusieurs variables et les filtre
- Types de filtres

filter_id
filter_input
Filter Fonctions
PHP Manual