(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input_array — Récupère plusieurs valeurs externes et les filtre
Description
filter_input_array(int
$type, array|int
$options =
FILTER_DEFAULT, bool
$add_empty =
true): array|false|null
Liste de paramètres
-
type
-
Une constante parmi INPUT_GET, INPUT_POST,
INPUT_COOKIE, INPUT_SERVER ou
INPUT_ENV.
-
options
-
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.
Si le tableau d'entrée désigné par type n'est pas populé,
la fonction retourne null si le drapeau FILTER_NULL_ON_FAILURE
n'est pas donnée, sinon false dans le cas contraire. Pour les autres échecs, false est retourné.
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.
Si le paramètre add_empty est false,
aucun élément du tableau sera ajouté pour les variables non définie.
Exemples
Exemple #1 Exemple avec filter_input_array()
<?php
/* les données arrivent depuis 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";
?>
L'exemple ci-dessus va afficher :
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)
}
}
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