Hàm is_integer() trong PHP
Trần Thị Vân
- 1264
- 07/08/2025
Chức năng của Hàm is_integer() trong PHP
Hàm is_integer() trong PHP hoạt động như hàm is_int() 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_integer() trong PHP
$kết_quả = is_integer($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_integer() 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_integer($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_integer($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_integer($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_integer($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_integer($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)
Những lưu ý khi sử dụng hàm is_integer() trong PHP
Để sử dụng is_integer() chính xác, cần phân biệt giữa kiểu dữ liệu và giá trị mà biến đang chứa. Đây cũng là điểm dễ gây nhầm lẫn khi xử lý dữ liệu nhận từ biểu mẫu, URL hoặc các nguồn bên ngoài.
is_integer() chỉ kiểm tra kiểu dữ liệu, không kiểm tra giá trị
is_integer() trả về true khi biến thực sự có kiểu integer. Vì vậy, một chuỗi chỉ chứa các chữ số vẫn không được xem là số nguyên khi kiểm tra bằng hàm này.
<?php
$a = 25;
$b = "25";
var_dump(is_integer($a));
var_dump(is_integer($b));
?>
Kết quả tương ứng là true và false. Dù hai biến cùng biểu diễn giá trị 25, kiểu dữ liệu của chúng khác nhau.
Điều này đặc biệt đáng chú ý khi xử lý dữ liệu từ form, URL hoặc dữ liệu bên ngoài ứng dụng, bởi những giá trị này thường được nhận dưới dạng chuỗi. Không nên chỉ dựa vào việc dữ liệu có chứa chữ số để kết luận đó là một số nguyên.
Phân biệt is_integer() với is_numeric() và is_int()
is_integer() và is_int() đều dùng để xác định biến có kiểu số nguyên hay không, nên về mục đích kiểm tra kiểu dữ liệu, hai hàm này tương đương.
Trong khi đó, is_numeric() có phạm vi kiểm tra khác. Hàm này xác định một giá trị có được xem là dạng số hay không, nên có thể trả về true với cả một số và chuỗi biểu diễn số.
<?php
$value = "25";
var_dump(is_integer($value));
var_dump(is_int($value));
var_dump(is_numeric($value));
?>
Trong ví dụ trên, is_integer() và is_int() trả về false, còn is_numeric() trả về true. Vì vậy, hãy chọn hàm dựa trên mục đích kiểm tra thay vì chỉ dựa vào tên gọi.
Khi nào nên sử dụng is_integer() trong PHP?
Nên dùng is_integer() khi chương trình cần chắc chắn một biến đang có kiểu integer, chẳng hạn trước khi thực hiện các bước xử lý yêu cầu dữ liệu phải là số nguyên.
Nếu mục tiêu chỉ là xác định dữ liệu có thể được xem là số, is_numeric() sẽ phù hợp hơn. Ngược lại, khi yêu cầu đặt ra là biến phải thực sự mang kiểu integer, is_integer() giúp kiểm tra rõ ràng và tránh nhầm lẫn giữa số nguyên với chuỗi chứa số.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm is_integer() 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 *