Hàm empty() trong PHP

Hàm empty() trong PHP
Hàm empty() trong PHP

Chức năng của Hàm empty() trong PHP

Hàm empty() trong PHP dùng để xét xem một biến, chuỗi, mảng,...có bị rỗng hay không, những trường hợp bị rỗng như: "" (chuỗi rỗng), 0 (số nguyên 0), 0.0 (số thực 0), "0" (chuỗi "0"), NULL, FALSE, hoặc một mảng rỗng (array()).

Cú pháp của Hàm empty() trong PHP

$kết_quả = empty($biến_dữ_liệu);

$biến_dữ_liệu: Biến chứa dữ liệu.

$kết_quả: Kết quả trả về, nếu rỗng thì trả về true, nếu không rỗng trả về false.

Code Hàm empty() trong PHP

<h2>Hàm empty() xét biến integer có rỗng hay không</h2>
<?php 
$bienint =  35;
$bienint1 =  0;

if(empty($bienint)){
 echo 'Biến $bienint là biến rỗng <br>';
}else{
 echo 'Biến $bienint không rỗng <br>';
}
// Kết quả: Biến $bienint không rỗng

if(empty($bienint1)){
 echo 'Biến $bienint1 là biến rỗng <br>';
}else{
 echo 'Biến $bienint1 không rỗng <br>';
}
// Kết quả: Biến $bienint1 là biến rỗng
?>

<h2>Hàm empty() xét biến string có rỗng hay không</h2>
<?php 
$bienstr =  "Web Mới";
$bienstr1 =  "";

if(empty($bienstr)){
 echo 'Biến $bienstr là biến rỗng <br>';
}else{
 echo 'Biến $bienstr không rỗng <br>';
}
// Kết quả: Biến $bienstr không rỗng

if(empty($bienstr1)){
 echo 'Biến $bienstr1 là biến rỗng <br>';
}else{
 echo 'Biến $bienstr1 không rỗng <br>';
}
// Kết quả: Biến $bienstr1 là biến rỗng
?>

<h2>Hàm empty() xét biến double có rỗng hay không</h2>
<?php 
$biendouble =  35.5;
$biendouble1 =  0.0;

if(empty($biendouble)){
 echo 'Biến $biendouble là biến rỗng <br>';
}else{
 echo 'Biến $biendouble không rỗng <br>';
}
// Kết quả: Biến $biendouble không rỗng

if(empty($biendouble1)){
 echo 'Biến $biendouble1 là biến rỗng <br>';
}else{
 echo 'Biến $biendouble1 không rỗng <br>';
}
// Kết quả: Biến $biendouble1 là biến rỗng
?>

<h2>Hàm empty() xét biến NULL có rỗng hay không</h2>
<?php 
$biennull =  NULL;

if(empty($biennull)){
 echo 'Biến $biennull là biến rỗng <br>';
}else{
 echo 'Biến $biennull không rỗng <br>';
}
// Kết quả: Biến $biennull là biến rỗng
?>

<h2>Hàm empty() xét biến boolean có rỗng hay không</h2>
<?php 
$bienboolean =  true;
$bienboolean1 = false;

if(empty($bienboolean)){
 echo 'Biến $bienboolean là biến rỗng <br>';
}else{
 echo 'Biến $bienboolean không rỗng <br>';
}
// Kết quả: Biến $bienboolean không rỗng

if(empty($bienboolean1)){
 echo 'Biến $bienboolean1 là biến rỗng <br>';
}else{
 echo 'Biến $bienboolean1 không rỗng <br>';
}
// Kết quả: Biến $bienboolean1 là biến rỗng
?>

<h2>Hàm empty() xét biến array có rỗng hay không</h2>
<?php 
$bienarray =  array("Lực","Vân","Quỳnh");
$bienarray1 = array();

if(empty($bienarray)){
 echo 'Biến $bienarray là biến rỗng <br>';
}else{
 echo 'Biến $bienarray không rỗng <br>';
}
// Kết quả: Biến $bienarray không rỗng

if(empty($bienarray1)){
 echo 'Biến $bienarray1 là biến rỗng <br>';
}else{
 echo 'Biến $bienarray1 không rỗng <br>';
}
// Kết quả: Biến $bienarray1 là biến rỗng
?>

Kết quả:

/////Hàm empty() xét biến integer có rỗng hay không
Biến $bienint không rỗng
Biến $bienint1 là biến rỗng

/////Hàm empty() xét biến string có rỗng hay không
Biến $bienstr không rỗng
Biến $bienstr1 là biến rỗng

/////Hàm empty() xét biến double có rỗng hay không
Biến $biendouble không rỗng
Biến $biendouble1 là biến rỗng

/////Hàm empty() xét biến NULL có rỗng hay không
Biến $biennull là biến rỗng

/////Hàm empty() xét biến boolean có rỗng hay không
Biến $bienboolean không rỗng
Biến $bienboolean1 là biến rỗng

/////Hàm empty() xét biến array có rỗng hay không
Biến $bienarray không rỗng
Biến $bienarray1 là biến rỗng

Chạy Thử

Những lưu ý khi sử dụng Hàm empty() trong PHP

empty() giúp kiểm tra nhanh một biến có được xem là không có giá trị hay không. Tuy nhiên, kết quả kiểm tra phụ thuộc vào cách PHP đánh giá từng kiểu dữ liệu. Hiểu rõ điều này sẽ giúp tránh bỏ sót dữ liệu hợp lệ hoặc xử lý sai điều kiện trong chương trình.

empty() có thể xem giá trị 0 là rỗng

Một điểm dễ gây nhầm lẫn là empty() không chỉ kiểm tra biến có tồn tại hay không. Các giá trị như 0, "0", false, chuỗi rỗng, null hoặc mảng không có phần tử đều có thể được PHP xem là rỗng.

Điều này đặc biệt quan trọng khi xử lý dữ liệu biểu mẫu. Chẳng hạn, số 0 có thể là một giá trị hoàn toàn hợp lệ nhưng vẫn khiến điều kiện empty() trả về kết quả đúng.

<?php
$soLuong = 0;

if (empty($soLuong)) {
    echo "Giá trị được xem là rỗng";
}
?>

Nếu ứng dụng cần phân biệt rõ giữa 0 và một giá trị thực sự không được nhập, không nên chỉ dựa vào empty(). Khi đó, cần lựa chọn cách kiểm tra phù hợp với kiểu dữ liệu và yêu cầu nghiệp vụ.

Phân biệt empty() và isset() khi kiểm tra biến

empty()isset() đều thường được dùng để kiểm tra dữ liệu nhưng mục đích không giống nhau. isset() tập trung vào việc xác định biến có tồn tại và có giá trị khác null hay không, trong khi empty() kiểm tra xem giá trị có được PHP xem là rỗng hay không.

Ví dụ, một biến có giá trị 0 vẫn được xem là đã tồn tại nên isset() có thể trả về true, nhưng empty() lại xem giá trị này là rỗng.

<?php
$giaTri = 0;

var_dump(isset($giaTri));
var_dump(empty($giaTri));
?>

Vì vậy, hãy dùng isset() khi cần xác nhận dữ liệu đã được thiết lập, còn empty() phù hợp hơn khi mục tiêu là kiểm tra dữ liệu có đang ở trạng thái rỗng theo quy ước của PHP hay không.

Khi nào nên sử dụng empty() trong PHP?

empty() phù hợp với những trường hợp cần kiểm tra nhanh một biến, phần tử mảng hoặc dữ liệu đầu vào có đang thiếu giá trị hay không. Hàm này đặc biệt tiện dụng khi xử lý biểu mẫu, tham số yêu cầu hoặc các dữ liệu tùy chọn.

Tuy nhiên, không nên sử dụng empty() một cách máy móc khi giá trị 0, "0" hoặc false có ý nghĩa riêng trong ứng dụng. Với những trường hợp cần kiểm tra chính xác kiểu và giá trị, nên dùng phép so sánh hoặc phương thức kiểm tra phù hợp thay vì chỉ dựa vào kết quả của empty().

Cách sử dụng tốt nhất là xác định rõ dữ liệu nào được xem là hợp lệ trước khi viết điều kiện. Điều này giúp mã PHP dễ đọc hơn và hạn chế lỗi khi chương trình phải xử lý nhiều loại dữ liệu khác nhau.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm empty() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm empty() trong PHP
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !