(PHP 5 >= 5.2.0)
filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
Diese Funktion ist sinnvoll, um mehrere Werte abzufragen ohne wiederholend filter_input() aufrufen zu müssen.
type
Einer von INPUT_GET
, INPUT_POST
,
INPUT_COOKIE
, INPUT_SERVER
,
INPUT_ENV
, INPUT_SESSION
oder
INPUT_REQUEST
.
definition
Array dass die Argumente enthält. Ein gültiger Key ist ein string der einen Variablennamen enthält und ein gültiger Wert ist entweder ein Filter oder ein array welches den Filter, seine Flags und Optionen spezifiziert. Wenn der Wert ein Array ist, sind gültige Keys filter der den Filtertyp definiert, flags welches jegliche Flags die den Filter spezifizieren enthält und options welches die Optionen enthält to den Filter beschreiben. Für ein besseres Verständnis sehen Sie sich das Beispiel an.
Der Parameter kann auch ein Integer sein der eine Filterkonstante beschreibt. Dann werden alle Werte des Arrays durch diesen Filter gefiltert.
Bei Erfolg wird ein Array zurückgegeben, welches alle Werte der angefragten
Variablen enthält oder FALSE
im Fehlerfall. Ein einzelner Array-Wert ist
FALSE
, wenn das Filtern fehlgeschlagen ist oder NULL
, wenn die Variable
nicht gesetzt ist. Wenn das Flag FILTER_NULL_ON_FAILURE
benutzt wurde, wird FALSE
zurückgegeben, wenn die Variable nicht gesetzt ist
und NULL
, wenn das Filtern fehlgeschlagen ist.
Beispiel #1 filter_input_array() Beispiel
<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from 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";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
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) } }