filter_var_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var_arrayNimmt mehrere Variablen entgegen und filtert sie optional

Beschreibung

filter_var_array(array$array, array|int$options = FILTER_DEFAULT, bool$add_empty = true): array|false|null

Diese 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, und options 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

To Top