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 personnalisé.

Liste de paramètres

value
La valeur à filtrer.
Avertissement

Les valeurs scalaires sont converties en chaîne en interne avant d'être filtrées.

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 personnalisé en utilisant FILTER_CALLBACK.

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

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 exemple 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