Hàm is_int() trong PHP
Trần Thị Vân
- 1213
- 07/08/2025
Chức năng của Hàm is_int() trong PHP
Hàm is_int() trong PHP dùng để kiểm tra kiểu dữ liệu của biến truyền vào có phải là kiểu dữ liệu số nguyên (integer) hay không, nếu phải thì trả về true, nếu không phải thì trả về false.
Cú pháp của Hàm is_int() trong PHP
$kết_quả = is_int($biến_dữ_liệu);
$biến_dữ_liệu: Biến chứa dữ liệu.
$kết_quả: Nếu kiểu dữ liệu của biến là kiểu dữ liệu số nguyên (integer) thì trả về true, nếu kiểu dữ liệu của biến không phải là kiểu dữ liệu số nguyên (integer) thì trả về false.
Code Hàm is_int() trong PHP
<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu số nguyên (integer) hay không</h2>
<?php
$biensonguyen = 35;
if(is_int($biensonguyen)){
echo 'Biến $biensonguyen thuộc kiểu dữ liệu số nguyên (integer) <br>';
}else{
echo 'Biến $biensonguyen không thuộc kiểu dữ liệu số nguyên (integer) <br>';
}
// Kết quả: Biến $biensonguyen thuộc kiểu dữ liệu số nguyên (integer)
?>
<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu số nguyên (integer) hay không</h2>
<?php
$bienchuoi = "Web Mới";
if(is_int($bienchuoi)){
echo 'Biến $bienchuoi thuộc kiểu dữ liệu số nguyên (integer) <br>';
}else{
echo 'Biến $bienchuoi không thuộc kiểu dữ liệu số nguyên (integer) <br>';
}
// Kết quả: Biến $bienchuoi không thuộc kiểu dữ liệu số nguyên (integer)
?>
<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu số nguyên (integer) hay không</h2>
<?php
$mang = array("Lực","Vân","Quỳnh");
if(is_int($mang)){
echo 'Biến $mang thuộc kiểu dữ liệu số nguyên (integer) <br>';
}else{
echo 'Biến $mang không thuộc kiểu dữ liệu số nguyên (integer) <br>';
}
// Kết quả: Biến $mang không thuộc kiểu dữ liệu số nguyên (integer)
?>
<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu số nguyên (integer) hay không</h2>
<?php
$bienthapphan = 35.5;
if(is_int($bienthapphan)){
echo 'Biến $bienthapphan thuộc kiểu dữ liệu số nguyên (integer) <br>';
}else{
echo 'Biến $bienthapphan không thuộc kiểu dữ liệu số nguyên (integer) <br>';
}
// Kết quả: Biến $bienthapphan không thuộc kiểu dữ liệu số nguyên (integer)
?>
<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu số nguyên (integer) hay không</h2>
<?php
$nhanVien = (object) [
'ten' => 'Bùi Tấn Lực',
'tuoi' => '35'
];
if(is_int($nhanVien)){
echo 'Biến $nhanVien thuộc kiểu dữ liệu số nguyên (integer) <br>';
}else{
echo 'Biến $nhanVien không thuộc kiểu dữ liệu số nguyên (integer) <br>';
}
// Kết quả: Biến $nhanVien không thuộc kiểu dữ liệu số nguyên (integer)
?>
Kết quả:
/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu số nguyên (integer) hay không
Biến $biensonguyen thuộc kiểu dữ liệu số nguyên (integer)
/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu số nguyên (integer) hay không
Biến $bienchuoi không thuộc kiểu dữ liệu số nguyên (integer)
/////Kiểm tra biến mảng thuộc kiểu dữ liệu số nguyên (integer) hay không
Biến $mang không thuộc kiểu dữ liệu số nguyên (integer)
/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu số nguyên (integer) hay không
Biến $bienthapphan không thuộc kiểu dữ liệu số nguyên (integer)
/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu số nguyên (integer) hay không
Biến $nhanVien không thuộc kiểu dữ liệu số nguyên (integer)
Hàm is_int() trong PHP khác gì với các hàm kiểm tra kiểu dữ liệu khác?
Trong PHP, nhiều hàm is_* có cách sử dụng tương tự nhưng kiểm tra những kiểu dữ liệu khác nhau. Việc chọn đúng hàm giúp điều kiện kiểm tra rõ ràng và tránh nhầm lẫn giữa một giá trị có dạng số với một giá trị thực sự thuộc kiểu số nguyên.
So sánh is_int() với is_numeric() trong PHP
is_int() tập trung vào kiểu dữ liệu integer, trong khi is_numeric() kiểm tra một giá trị có được xem là số hoặc chuỗi biểu diễn một số hay không. Vì vậy, hai hàm có thể cho kết quả khác nhau dù dữ liệu nhìn bên ngoài khá giống nhau.
Ví dụ, giá trị 25 là số nguyên nên phù hợp với is_int(). Ngược lại, chuỗi "25" không phải integer vì vẫn mang kiểu string, nhưng có thể được is_numeric() xác định là dữ liệu dạng số.
<?php
$soNguyen = 25;
$chuoiSo = "25";
var_dump(is_int($soNguyen)); // true
var_dump(is_int($chuoiSo)); // false
var_dump(is_numeric($soNguyen)); // true
var_dump(is_numeric($chuoiSo)); // true
?>
Do đó, nếu yêu cầu là xác nhận đúng kiểu integer, nên dùng is_int(). Nếu mục đích là nhận diện dữ liệu có thể xem như một giá trị số, is_numeric() sẽ phù hợp hơn.
Phân biệt is_int() với is_float() và is_string()
is_int(), is_float() và is_string() đều kiểm tra kiểu dữ liệu cụ thể. Điểm khác biệt nằm ở loại dữ liệu mà mỗi hàm chấp nhận là đúng.
- is_int(): kiểm tra giá trị có thuộc kiểu integer hay không.
- is_float(): kiểm tra giá trị có thuộc kiểu số thực hay không.
- is_string(): kiểm tra giá trị có thuộc kiểu chuỗi hay không.
Chẳng hạn, 10 là integer, 10.5 là float còn "10" là string. Việc một giá trị có nội dung giống số không đồng nghĩa với việc PHP đang lưu nó dưới kiểu integer.
Khi nào nên sử dụng is_int() để kiểm tra dữ liệu?
Nên sử dụng is_int() khi chương trình cần xác nhận dữ liệu đầu vào thực sự là số nguyên trước khi tiếp tục xử lý. Cách kiểm tra này hữu ích khi dữ liệu được truyền vào hàm, lấy từ một biến hoặc được tạo ra từ nhiều nguồn khác nhau.
Đặc biệt, không nên chỉ dựa vào hình thức của dữ liệu. Một chuỗi chứa "100" vẫn là string và không được is_int() xem là integer. Nếu ứng dụng yêu cầu đúng kiểu số nguyên, hãy kiểm tra kiểu dữ liệu trước khi thực hiện các bước xử lý tiếp theo.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm is_int() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *