Filtr PHP FILTER_VALIDATE_INT
Przykład
Sprawdź, czy zmienna $int jest liczbą całkowitą:
<?php
$int = 100;
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Definicja i użycie
Filtr FILTER_VALIDATE_INT służy do sprawdzania poprawności wartości jako liczby całkowitej.
FILTER_VALIDATE_INT pozwala nam również określić zakres zmiennej całkowitej.
Możliwe opcje i flagi:
- min_range - określa minimalną wartość całkowitą
- max_range - określa maksymalną wartość całkowitą
- FILTER_FLAG_ALLOW_OCTAL - pozwala na wartości liczb ósemkowych
- FILTER_FLAG_ALLOW_HEX - zezwala na wartości liczb szesnastkowych
Uwaga: Podczas określania opcji w tablicy. Opcje muszą znajdować się w asocjacyjnej wielowymiarowej tablicy o nazwie „opcje”.
Więcej przykładów
FILTER_VALIDATE_INT i Problem z 0 — W powyższym przykładzie, jeśli $int był ustawiony na 0, powyższa funkcja zwróci „Zmienna nie jest liczbą całkowitą”. Aby rozwiązać ten problem, użyj poniższego kodu:
Przykład 1
Napraw kod, aby zweryfikować 0 jako liczbę całkowitą:
<?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");
}
?>
Przykład 2
Sprawdź, czy zmienna jest zarówno typu INT, jak i między 1 a 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");
}
?>
❮ Odniesienie do filtrów PHP