Die Funktion filter_input_array() nimmt mehrere Eingaben (z. B. Formulareingaben) von außerhalb des Skripts entgegen und filtert sie.
Diese Funktion ist nützlich, um mehrere Eingabevariablen zu filtern, ohne filter_input() wiederholt aufzurufen.
Diese Funktion kann Eingaben aus verschiedenen Quellen entgegennehmen:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (noch nicht implementiert)
INPUT_REQUEST (noch nicht implementiert)
Bei Erfolg werden die gefilterten Daten als Array zurückgegeben. Wenn dies fehlschlägt, wird FALSE zurückgegeben.
filter_input_array(input_type, filter_args)
Parameter | beschreiben |
---|---|
Eingabetyp | Erforderlich. Gibt den Eingabetyp an. Siehe die Liste der möglichen Typen oben. |
filter_args | Optional. Gibt ein Array von Filterparametern an. Zulässige Array-Schlüssel sind Variablennamen und zulässige Werte sind Filter-IDs oder Arrays, die Filter, Flags und Optionen angeben. Dieser Parameter kann auch eine einzelne Filter-ID sein. In diesem Fall werden alle Werte im Eingabearray durch den angegebenen Filter gefiltert. Die Filter-ID kann ein ID-Name (z. B. FILTER_VALIDATE_EMAIL) oder eine ID-Nummer (z. B. 274) sein. |
Tipp: Sehen Sie sich das vollständige PHP-Filter-Referenzhandbuch an, um die Filter zu sehen, die mit dieser Funktion verwendet werden können.
In diesem Beispiel verwenden wir die Funktion filter_input_array(), um drei POST-Variablen zu filtern. Die empfangenen POST-Variablen sind Name, Alter und E-Mail-Adresse:
<?php$filters = array ( "name" => array ( "filter"=>FILTER_CALLBACK, "flags"=>FILTER_FORCE_ARRAY, "options"=>"ucwords" ), "age" => array ( "filter"= >FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL, );print_r(filter_input_array(INPUT_POST, $filters));?>
Die Ausgabe des Codes sieht so aus:
Array ( [Name] => Peter [Alter] => 41 [E-Mail] => [email protected] )