input_get_args

(no version information, might be only in CVS)

input_get_args -- Récupère plusieurs variables depuis l'extérieur de PHP et, optionnellement, les filtres

Description

mixed input_get_args ( int type, array definition [, array data] )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

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

Liste de paramètres

type

Une constante parmi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, ou INPUT_DATA.

definition

Un tableau définissant les arguments. Une clé valide est une chaîne de caractères contenant le nom d'une variable et une valeur valide est soit un type de filtre, soit un tableau spécifiant le filtre, les flags 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 n'importe quel flag à appliquer au filtre et options qui spécifie n'importe quelle option à appliquer au filtre. Voir les exemples ci-dessous pour une meilleure compréhension.

data

Données à filtrer. Utilisé si le paramètre type est défini à INPUT_DATA.

Valeurs de retour

Un tableau contenant les valeurs des variables demandées en cas de succès, ou FALSE si une erreur survient. Une valeur du tableau sera définie à FALSE si le filtre échoue, ou NULL si la variable n'est pas définie.

Exemples

Exemple 1. Exemple avec input_get_args()

<?php
error_reporting
(E_ALL | E_STRICT);
$data = 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_FLAG_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_FLAG_SCALAR,
                           ),
    
'testarray'    => array(
                            
'filter' => FILTER_VALIDATE_INT,
                            
'flags'  => FILTER_FLAG_ARRAY,
                           )

);

//$myinputs = input_get_args(INPUT_POST, $args);
$myinputs = input_get_args(INPUT_DATA, $args, $data);

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)
  }
}

Voir aussi

input_get()
filter_data()