Фильтр PHP FILTER_VALIDATE_INT
Пример
Проверьте, является ли переменная $int целым числом:
<?php
$int = 100;
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Определение и использование
Фильтр FILTER_VALIDATE_INT используется для проверки значения как целого числа.
FILTER_VALIDATE_INT также позволяет указать диапазон для целочисленной переменной.
Возможные варианты и флаги:
- min_range — указывает минимальное целочисленное значение
- max_range - указывает максимальное целочисленное значение
- FILTER_FLAG_ALLOW_OCTAL — разрешает восьмеричные числа
- FILTER_FLAG_ALLOW_HEX — разрешает шестнадцатеричные числовые значения.
Примечание. При указании параметров в массиве. Опции должны находиться в ассоциативном многомерном массиве с именем «опции».
Дополнительные примеры
FILTER_VALIDATE_INT и Проблема с 0. В приведенном выше примере, если $int был установлен на 0, вышеприведенная функция вернет «Переменная не является целым числом». Чтобы решить эту проблему, используйте код ниже:
Пример 1
Исправьте код для проверки 0 как целого числа:
<?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");
}
?>
Пример 2
Проверьте, имеет ли переменная тип INT и значение от 1 до 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");
}
?>
❮ Справочник по фильтрам PHP