filter_var

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

filter_varFiltre une variable avec un filtre spécifique

Description

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

Filtrer une variable en utilisant un filtre de validation FILTER_VALIDATE_*, un filtre de purification FILTER_SANITIZE_*, ou un filtre personalisé.

Liste de paramètres

value
La valeur à filtrer.
Avertissement

Les valeurs scalaire sont convertie en string en interne avant d'être filtré.

filter
Le filtre à appliquer. Peut-être un filtre de validation en utilisant une des constantes FILTER_VALIDATE_*, un filtre de purification en utilisant une des constantes FILTER_SANITIZE_*, ou FILTER_UNSAFE_RAW, ou un filtre personalisé en utilisant FILTER_CALLBACK.

Note: Le filtre par défaut est FILTER_DEFAULT, qui est un alias de FILTER_UNSAFE_RAW. Ceci resulte en aucun filtrage par default.

options
Soit un array associatif d'option, soit un masque de bit des constantes des drapeaux de filtrage FILTER_FLAG_*. Si le filter accepte des options, les drapeaux peuvent être fournis en utilisant la clé "flags" du tableau.

Valeurs de retour

En cas de succès retourne les données filtrées. En cas d'échec false est retourné, sauf si le drapeau FILTER_NULL_ON_FAILURE est utilisé, auquel cas null est retourné.

Exemples

Exemple #1 Un example pour filter_var()

<?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));
?>

L'exemple ci-dessus va afficher :

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

Exemple #2 Un exemple validant les entrées d'un tableau

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

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

L'exemple ci-dessus va afficher :

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

Exemple #3 Exemple fournissant un tableau pour 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));

?>

L'exemple ci-dessus va afficher :

int(493)
bool(false)

Exemple #4 Fournir les drapeaux soit directement, soit à l'aide d'un 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]));

?>

L'exemple ci-dessus va afficher :

NULL
NULL

Voir aussi