(PHP 5 >= 5.2.0, PHP 7)
filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional
Diese Funktion ist nützlich um mehrere Werte abzufragen ohne wiederholt filter_var() aufrufen zu müssen.
data
Ein Array mit String-Keys, welches die zu filternden Daten enthält.
definition
Ein 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 Filtertyp oder ein array, das den Filter, seine Flags und Optionen spezifiziert. Wenn der Wert ein Array ist, sind gültige Keys filter, das den Filtertyp angibt, flags, das 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 ist das Beispiel weiter unten zu konsultieren.
Der Parameter kann auch ein Integer sein der eine Filterkonstante beschreibt. Dann werden alle Werte des Arrays durch diesen Filter gefiltert.
add_empty
Nicht vorhandene Schlüssel werden als NULL
zum Rückgabewert hinzugefügt.
Bei Erfolg wird ein Array zurückgegeben, das 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.
Beispiel #1 filter_var_array() Beispiel
<?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_FORCE_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_FORCE_ARRAY,
)
);
$myinputs = filter_var_array($data, $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) } ["versions"]=> string(6) "2.0.33" ["doesnotexist"]=> NULL ["testscalar"]=> bool(false) ["testarray"]=> array(1) { [0]=> int(2) } }
Version | Beschreibung |
---|---|
5.4.0 |
Der Parameter add_empty wurde hinzugefügt.
|