filter_var_array

(PHP 5 >= 5.2.0, PHP 7)

filter_var_arrayNimmt mehrere Variablen entgegen und filtert sie optional

Beschreibung

filter_var_array ( array $data [, mixed $definition [, bool $add_empty = TRUE ]] ) : mixed

Diese Funktion ist nützlich um mehrere Werte abzufragen ohne wiederholt filter_var() aufrufen zu müssen.

Parameter-Liste

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.

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
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)
  }
}

Changelog

Version Beschreibung
5.4.0 Der Parameter add_empty wurde hinzugefügt.

Siehe auch