Example
Check if the variable $int is an integer:
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) ===
false) {
echo("Variable is an integer");
} else {
echo("Variable
is not an integer");
}
?>
Run example »
Definition and Usage
The FILTER_VALIDATE_INT filter is used to validate value as integer.
FILTER_VALIDATE_INT also allows us to specify a range for the integer variable.
Possible options and flags:
- min_range - specifies the minimum integer value
- max_range - specifies the maximum integer value
- FILTER_FLAG_ALLOW_OCTAL - allows octal number values
- FILTER_FLAG_ALLOW_HEX - allows hexadecimal number values
Note: When specifying options in an array. The options must be in an associative multidimensional array with the name "options".
More Examples
FILTER_VALIDATE_INT and Problem With 0 - In the example above, if $int was set to 0, the function above will return "Variable is not an integer". To solve this problem, use the code below:
Example 1
Fix code to validate 0 as integer:
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 ||
!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Variable is an integer");
} else {
echo("Variable
is not an integer");
}
?>
Run example »
Example 2
Check if a variable is both of type INT, and between 1 and 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");
}
?>
Run example »
< PHP Filter Reference