Bộ lọc PHP FILTER_VALIDATE_INT
Thí dụ
Kiểm tra xem biến $ int có phải là số nguyên hay không:
<?php
$int = 100;
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Định nghĩa và Cách sử dụng
Bộ lọc FILTER_VALIDATE_INT được sử dụng để xác thực giá trị dưới dạng số nguyên.
FILTER_VALIDATE_INT cũng cho phép chúng tôi chỉ định một phạm vi cho biến số nguyên.
Các tùy chọn và cờ có thể có:
- min_range - chỉ định giá trị số nguyên tối thiểu
- max_range - chỉ định giá trị số nguyên lớn nhất
- FILTER_FLAG_ALLOW_OCTAL - cho phép các giá trị số bát phân
- FILTER_FLAG_ALLOW_HEX - cho phép các giá trị số thập lục phân
Lưu ý: Khi chỉ định các tùy chọn trong một mảng. Các tùy chọn phải nằm trong một mảng đa chiều liên kết với tên "tùy chọn".
Các ví dụ khác
FILTER_VALIDATE_INT và Sự cố Với 0 - Trong ví dụ trên, nếu $ int được đặt thành 0, hàm trên sẽ trả về "Biến không phải là số nguyên". Để giải quyết vấn đề này, hãy sử dụng mã bên dưới:
ví dụ 1
Sửa mã để xác thực 0 dưới dạng số nguyên:
<?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");
}
?>
Ví dụ 2
Kiểm tra xem một biến có phải là cả kiểu INT và từ 1 đến 200 hay không:
<?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");
}
?>
❮ Tham chiếu bộ lọc PHP