(PHP 5 >= 5.2.0, PHP 7)
filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
Diese Funktion ist nützlich, um mehrere Werte abzufragen ohne wiederholend filter_input() aufrufen zu müssen.
type
Einer von INPUT_GET, INPUT_POST,
INPUT_COOKIE, INPUT_SERVER,
INPUT_SESSION oder
INPUT_ENV.
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 die 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 Eingabearrays durch diesen Filter gefiltert.
add_empty
Füge dem Rückgabewert fehlende Keys als NULL hinzu.
Bei Erfolg wird ein Array zurückgegeben, welches alle Werte der angefragten
Variablen enthält.
Ist das durch type bezeichnete Eingabearray nicht befüllt,
gibt die Funktion NULL zurück, wenn die das FILTER_NULL_ON_FAILURE
Flag nicht angegeben wurde, oder FALSE andernfalls. Bei anderen Fehlern wird
FALSE zurückgegeben.
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.
Ist der Parameter add_empty FALSE, wird kein Arrayelement
für nicht gesetzte Variablen hinzugefügt.
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' => 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";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
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)
}
}
| Version | Beschreibung |
|---|---|
| 5.4.0 |
Der Paramter add_empty wurde hinzugefügt.
|
Hinweis:
Es gibt keinen
REQUEST_TIMEKey imINPUT_SERVERArray, weil dieser erst später in $_SERVER eingefügt wird.