filter_input_array
(PHP 5 >= 5.2.0, PHP 7)
filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
Beschreibung
Diese Funktion ist nützlich, um mehrere Werte abzufragen ohne wiederholend filter_input() aufrufen zu müssen.
Parameter-Liste
-
type
-
Einer von
INPUT_GET
,INPUT_POST
,INPUT_COOKIE
,INPUT_SERVER
,INPUT_SESSION
oderINPUT_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.
Rückgabewerte
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.
Beispiele
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) } }
Anmerkungen
Hinweis:
Es gibt keinen REQUEST_TIME Key im
INPUT_SERVER
Array, weil dieser erst später in $_SERVER eingefügt wird.
Siehe auch
- filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional
- filter_var_array() - Nimmt mehrere Variablen entgegen und filtert sie optional
- Types of filters
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-filter-input-array.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.