Filtro PHP FILTER_VALIDATE_INT
Exemplo
Verifique se a variável $int é um inteiro:
<?php
$int = 100;
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Definição e uso
O filtro FILTER_VALIDATE_INT é usado para validar o valor como inteiro.
FILTER_VALIDATE_INT também nos permite especificar um intervalo para a variável inteira.
Opções e sinalizadores possíveis:
- min_range - especifica o valor inteiro mínimo
- max_range - especifica o valor inteiro máximo
- FILTER_FLAG_ALLOW_OCTAL - permite valores numéricos octais
- FILTER_FLAG_ALLOW_HEX - permite valores numéricos hexadecimais
Nota: Ao especificar opções em uma matriz. As opções devem estar em um array multidimensional associativo com o nome "options".
Mais exemplos
FILTER_VALIDATE_INT e Problema com 0 - No exemplo acima, se $int foi definido como 0, a função acima retornará "Variável não é um inteiro". Para resolver este problema, use o código abaixo:
Exemplo 1
Corrija o código para validar 0 como inteiro:
<?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");
}
?>
Exemplo 2
Verifique se uma variável é do tipo INT e entre 1 e 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");
}
?>
❮ Referência do Filtro PHP