filter_var

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

filter_varFiltert eine Variable mit einem angegebenen Filter

Beschreibung

filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed

Filtert eine Variable unter Verwendung eines FILTER_VALIDATE_*-Validierungsfilters, eines FILTER_SANITIZE_*-Bereinigungsfilters oder eines benutzerdefinierten Filters.

Parameter-Liste

value
Der zu filternde Wert.
Warnung

Skalare Werte werden intern in eine Zeichenkette umgewandelt, bevor sie gefiltert werden.

filter
Der anzuwendende Filter. Dies kann entweder ein Validierungsfilter sein, indem eine der FILTER_VALIDATE_*-Konstanten verwendet wird, ein Bereinigungsfilter, indem eine der FILTER_SANITIZE_*-Konstanten verwendet wird, der Fiter FILTER_UNSAFE_RAW oder ein benutzerdefinierter Filter durch Verwendung von FILTER_CALLBACK.

Hinweis: Die Voreinstellung ist FILTER_DEFAULT, was ein Alias von FILTER_UNSAFE_RAW ist. Dies bedeutet, dass standardmäßig keine Filterung stattfindet.

options
Entweder ein assoziatives array von Optionen oder eine Bitmaske der Filterflag-Konstanten FILTER_FLAG_*. Wenn filter Optionen akzeptiert, können die Flags durch Verwendung des Array-Schlüssels "flags" angegeben werden.

Rückgabewerte

Bei Erfolg werden die gefilterten Daten zurückgegeben. Im Fehlerfall wird false zurückgegeben, es sei denn, das Flag FILTER_NULL_ON_FAILURE wird verwendet; in diesem Fall wird null zurückgegeben.

Beispiele

Beispiel #1 filter_var()-Beispiel

<?php
var_dump
(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(15) "bob@example.com"
bool(false)

Beispiel #2 Beispiel für das Validieren der Einträge eines Arrays

<?php
$emails
= [
"bob@example.com",
"test@example.local",
"invalidemail"
];

var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(15) "bob@example.com"
  [1]=>
  string(18) "test@example.local"
  [2]=>
  bool(false)
}

Beispiel #3 Beispiel für die Übergabe eines Arrays für options

<?php

$options
= [
'options' => [
'min_range' => 10,
],
'flags' => FILTER_FLAG_ALLOW_OCTAL,
];

var_dump(filter_var('0755', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('011', FILTER_VALIDATE_INT, $options));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(493)
bool(false)

Beispiel #4 Angabe von Flags entweder direkt oder über ein array

<?php

$str
= 'string';

var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE]));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
NULL

Siehe auch