filter_var_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional
Beschreibung
$array
, array|int $options
= FILTER_DEFAULT
, bool $add_empty
= true
): array|false|nullDiese Funktion ist nützlich, um mehrere Werte abzufragen, ohne wiederholt filter_var() aufrufen zu müssen.
Parameter-Liste
-
array
-
Ein Array mit String-Schlüsseln, welches die zu filternden Daten enthält.
-
options
-
Ein Array, das die Argumente enthält. Ein gültiger Schlüssel 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 Schlüssel
filter
, der den Filtertyp angibt,flags
, der jegliche Flags enthält, die den Filter spezifizieren, undoptions
welcher 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.
Rückgabewerte
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.
Beispiele
Beispiel #1 filter_var_array()-Beispiel
<?php
$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) } }
Siehe auch
- filter_input_array() - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
- filter_var() - Filtern einer Variablen mit einem angegebenen Filter
- filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional
- Filtertypen