Hàm is_null() trong PHP
Trần Thị Vân
- 1278
- 07/08/2025
Chức năng của Hàm is_null() trong PHP
Hàm is_null() 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 NULL 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_null() trong PHP
$kết_quả = is_null($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 NULL 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 NULL thì trả về false.
Code Hàm is_null() trong PHP
<h2>Kiểm tra biến chứa giá trị NULL có thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$biennull = NULL;
if(is_null($biennull)){
echo 'Biến $biennull thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $biennull không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $biennull thuộc kiểu dữ liệu NULL
?>
<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$bienchuoi = "Web Mới";
if(is_null($bienchuoi)){
echo 'Biến $bienchuoi thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $bienchuoi không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $bienchuoi không thuộc kiểu dữ liệu NULL
?>
<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$mang = array("Lực","Vân","Quỳnh");
if(is_null($mang)){
echo 'Biến $mang thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $mang không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $mang không thuộc kiểu dữ liệu NULL
?>
<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$biensonguyen = 35;
if(is_null($biensonguyen)){
echo 'Biến $biensonguyen thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $biensonguyen không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $biensonguyen không thuộc kiểu dữ liệu NULL
?>
<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$bienthapphan = 35.5;
if(is_null($bienthapphan)){
echo 'Biến $bienthapphan thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $bienthapphan không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $bienthapphan không thuộc kiểu dữ liệu NULL
?>
<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu NULL hay không</h2>
<?php
$nhanVien = (object) [
'ten' => 'Bùi Tấn Lực',
'tuoi' => '35'
];
if(is_null($nhanVien)){
echo 'Biến $nhanVien thuộc kiểu dữ liệu NULL <br>';
}else{
echo 'Biến $nhanVien không thuộc kiểu dữ liệu NULL <br>';
}
// Kết quả: Biến $nhanVien không thuộc kiểu dữ liệu NULL
?>
Kết quả:
/////Kiểm tra biến chứa giá trị NULL có thuộc kiểu dữ liệu NULL hay không
Biến $biennull thuộc kiểu dữ liệu NULL
/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu NULL hay không
Biến $bienchuoi không thuộc kiểu dữ liệu NULL
/////Kiểm tra biến mảng thuộc kiểu dữ liệu NULL hay không
Biến $mang không thuộc kiểu dữ liệu NULL
/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu NULL hay không
Biến $biensonguyen không thuộc kiểu dữ liệu NULL
/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu NULL hay không
Biến $bienthapphan không thuộc kiểu dữ liệu NULL
/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu NULL hay không
Biến $nhanVien không thuộc kiểu dữ liệu NULL
Những lưu ý khi sử dụng hàm is_null() trong PHP
Hàm is_null() phù hợp khi cần xác định một giá trị có chính xác là null hay không. Tuy nhiên, trong PHP có nhiều cách kiểm tra giá trị rỗng hoặc chưa được thiết lập nên rất dễ sử dụng nhầm hàm trong từng tình huống.
Phân biệt is_null() với isset() trong PHP
is_null() kiểm tra giá trị của biến có phải null hay không, trong khi isset() dùng để xác định biến đã được thiết lập và có giá trị khác null. Vì vậy, hai hàm này cho kết quả đối lập khi biến tồn tại nhưng đang chứa null.
<?php
$value = null;
var_dump(is_null($value)); // true
var_dump(isset($value)); // false
?>
Điểm cần nhớ là isset() còn có thể kiểm tra nhiều biến cùng lúc và thường được dùng khi cần xác nhận dữ liệu đã tồn tại trước khi xử lý. Nếu mục tiêu chỉ là kiểm tra một giá trị có phải null hay không, is_null() diễn đạt đúng ý định hơn.
Khi nào nên dùng is_null() thay vì === null?
Trong PHP, is_null() và phép so sánh === null đều có thể dùng để kiểm tra một giá trị có phải null. Hai cách này cho cùng kết quả trong trường hợp kiểm tra giá trị cụ thể.
<?php
$value = null;
if (is_null($value)) {
echo "Giá trị là null";
}
if ($value === null) {
echo "Giá trị cũng là null";
}
?>
Việc lựa chọn cách nào chủ yếu phụ thuộc vào cách tổ chức mã nguồn. is_null() thể hiện rõ mục đích kiểm tra kiểu dữ liệu, còn === null ngắn gọn và thường thuận tiện khi viết điều kiện trực tiếp. Điều quan trọng là không thay thế chúng bằng phép so sánh == null một cách tùy tiện, vì so sánh lỏng có thể xử lý nhiều giá trị khác null theo cách không mong muốn.
Những trường hợp dễ nhầm khi kiểm tra giá trị null
null không đồng nghĩa với mọi dạng dữ liệu rỗng. Chuỗi rỗng, số 0, giá trị false hoặc một mảng rỗng đều khác null. Vì vậy, nếu yêu cầu của chương trình là xác định chính xác giá trị null, không nên dùng một phép kiểm tra tổng quát cho giá trị rỗng.
<?php
$nullValue = null;
$emptyText = "";
$zero = 0;
$falseValue = false;
var_dump(is_null($nullValue)); // true
var_dump(is_null($emptyText)); // false
var_dump(is_null($zero)); // false
var_dump(is_null($falseValue)); // false
?>
Đặc biệt, khi xử lý dữ liệu từ biểu mẫu, cơ sở dữ liệu hoặc API, cần xác định trước ý nghĩa của giá trị nhận được. Nếu null biểu thị dữ liệu chưa có, hãy kiểm tra riêng null thay vì gom chung với các giá trị rỗng. Cách này giúp điều kiện trong chương trình rõ ràng hơn và hạn chế lỗi khi xử lý dữ liệu.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm is_null() 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 *