Filtre PHP FILTER_VALIDATE_INT
Exemple
Vérifiez si la variable $int est un entier :
<?php
$int = 100;
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Définition et utilisation
Le filtre FILTER_VALIDATE_INT est utilisé pour valider la valeur en tant qu'entier.
FILTER_VALIDATE_INT nous permet également de spécifier une plage pour la variable entière.
Options et drapeaux possibles :
- min_range - spécifie la valeur entière minimale
- max_range - spécifie la valeur entière maximale
- FILTER_FLAG_ALLOW_OCTAL - autorise les valeurs numériques octales
- FILTER_FLAG_ALLOW_HEX - autorise les valeurs numériques hexadécimales
Remarque : lorsque vous spécifiez des options dans un tableau. Les options doivent être dans un tableau multidimensionnel associatif avec le nom "options".
Plus d'exemples
FILTER_VALIDATE_INT et problème avec 0 - Dans l'exemple ci-dessus, si $int était défini sur 0, la fonction ci-dessus renverra "La variable n'est pas un entier". Pour résoudre ce problème, utilisez le code ci-dessous :
Exemple 1
Correction du code pour valider 0 comme entier :
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Exemple 2
Vérifiez si une variable est à la fois de type INT et comprise entre 1 et 200 :
<?php
$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
echo("Variable value is not within the legal range");
} else {
echo("Variable value is within the legal range");
}
?>
❮ Référence du filtre PHP