Hàm isset()
và hàm empty()
là hai hàm phổ biến trong PHP, thường được sử dụng để kiểm tra trạng thái của các biến. Dưới đây là chi tiết về từng hàm và khi nào nên sử dụng chúng:
1. Hàm isset()
Cú pháp:
bool isset(mixed $var, mixed ...$vars)
Chức năng:
Hàm isset()
kiểm tra xem một biến có tồn tại và khác giá trị null
hay không. Nó trả về giá trị true
nếu biến tồn tại và không phải là null
, ngược lại trả về false
.
Ví dụ:
$var1 = "Hello";
$var2 = null;
var_dump(isset($var1)); // Kết quả: true
var_dump(isset($var2)); // Kết quả: false
var_dump(isset($var3)); // Kết quả: false (biến chưa được khai báo)
Các điểm quan trọng:
- Nếu biến chưa được khai báo hoặc giá trị của biến là
null
, isset()
sẽ trả về false
.
isset()
có thể kiểm tra nhiều biến cùng lúc, và chỉ trả về true
nếu tất cả các biến được truyền vào đều tồn tại và khác null
.
$var1 = "Hello";
$var2 = 10;
var_dump(isset($var1, $var2)); // Kết quả: true
var_dump(isset($var1, $var3)); // Kết quả: false
Khi nào sử dụng:
- Khi bạn muốn kiểm tra xem biến đã được khai báo hay chưa.
- Khi bạn muốn xác minh rằng giá trị của biến không phải là
null
.
2. Hàm empty()
Cú pháp:
Chức năng:
Hàm empty()
kiểm tra xem một biến có “trống” hay không. Biến được coi là “trống” nếu có một trong các giá trị sau:
""
(chuỗi rỗng)
0
(số 0)
0.0
(số thực 0)
"0"
(chuỗi chứa số 0)
null
false
- Mảng rỗng
[]
- Đối tượng không có thuộc tính
Ví dụ:
$var1 = "";
$var2 = 0;
$var3 = null;
var_dump(empty($var1)); // Kết quả: true
var_dump(empty($var2)); // Kết quả: true
var_dump(empty($var3)); // Kết quả: true
Các điểm quan trọng:
- Hàm
empty()
không tạo ra lỗi nếu biến chưa được khai báo, mà nó sẽ trả về true
trong trường hợp này.
- Nó kiểm tra nhiều trạng thái của biến, từ giá trị rỗng, số 0 cho đến
null
.
Khi nào sử dụng:
- Khi bạn cần kiểm tra xem một biến có giá trị “trống” hay không (ví dụ, trước khi xử lý form dữ liệu).
- Khi bạn muốn xác minh rằng một biến không chứa bất kỳ giá trị có nghĩa nào.
So sánh isset()
và empty()
:
isset()
chỉ kiểm tra xem biến có tồn tại và khác null
không.
empty()
kiểm tra xem biến có “trống” hay không, bao gồm nhiều trạng thái hơn như 0
, false
, mảng rỗng, chuỗi rỗng, và null
.
Ví dụ so sánh:
$var = 0;
var_dump(isset($var)); // Kết quả: true (biến tồn tại và không phải là null)
var_dump(empty($var)); // Kết quả: true (0 được coi là "trống")
Tóm tắt:
- Sử dụng
isset()
khi bạn chỉ cần kiểm tra xem biến có tồn tại và khác null
không.
- Sử dụng
empty()
khi bạn cần kiểm tra xem biến có giá trị không có nghĩa nào (rỗng, 0
, null
, false
,…) để tránh xử lý những dữ liệu không mong muốn.