filter_input_array
(PHP 5 >= 5.2.0, PHP 7)
filter_input_array — Récupère plusieurs valeurs externes et les filtre
Description
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
ouINPUT_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"]=> 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) } }
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
Version en cache
28/11/2024 23:22:45 Cette version de la page est en cache (à la date du 28/11/2024 23:22:45) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-filter-input-array.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.