Sửa khác nhau giưa isset, empty và is_null?

Trong PHP, isset()empty() là hai hàm thường được sử dụng để kiểm tra giá trị của biến, nhưng chúng có các mục đích và hành vi khác nhau. Dưới đây là sự khác biệt chính giữa chúng:

1. isset()

  • Chức năng: Kiểm tra xem một biến có được định nghĩa và có khác null hay không.
  • Cú pháp:
    isset($variable);
    
    
  • Trả về:
    • true: Nếu biến đã được định nghĩa và khác null.
    • false: Nếu biến chưa được định nghĩa hoặc bằng null.
  • Ví dụ:
    $var1 = "Hello";
    $var2 = null;
    
    echo isset($var1); // Output: 1 (true)
    echo isset($var2); // Output: (false)
    echo isset($var3); // Output: (false) (nếu $var3 chưa được định nghĩa)
    

2. empty()

  • Chức năng: Kiểm tra xem một biến có “rỗng” hay không. Một biến được coi là “rỗng” nếu nó không được định nghĩa, có giá trị null, chuỗi rỗng, số 0, chuỗi “0”, hoặc mảng rỗng.
  • Cú pháp:
    empty($variable);
    
    
  • Trả về:
    • true: Nếu biến không tồn tại hoặc có giá trị rỗng.
    • false: Nếu biến có giá trị không rỗng.
  • Ví dụ:
    $var1 = "";
    $var2 = 0;
    $var3 = null;
    $var4 = "Hello";
    
    echo empty($var1); // Output: 1 (true)
    echo empty($var2); // Output: 1 (true)
    echo empty($var3); // Output: 1 (true)
    echo empty($var4); // Output: (false)
    
    

3. So sánh giữa isset()empty()

Tính năngisset()empty()
Kiểm traBiến có được định nghĩa và khác null khôngBiến có rỗng hay không
Trả vềtrue nếu biến đã định nghĩa và không nulltrue nếu biến không tồn tại hoặc có giá trị rỗng
Các giá trị coi là “rỗng”Không bao gồm giá trị 0, chuỗi rỗngBao gồm giá trị 0, chuỗi rỗng, null, mảng rỗng
Sử dụngThường dùng để kiểm tra xem biến có tồn tại khôngThường dùng để kiểm tra giá trị hợp lệ của biến

Tóm lại

  • Sử dụng isset() khi bạn chỉ muốn kiểm tra xem một biến có tồn tại và không bằng null.
  • Sử dụng empty() khi bạn muốn kiểm tra xem một biến có giá trị “rỗng” hay không, bao gồm nhiều trường hợp hơn so với isset().
  • is_null() là một hàm đơn giản và hữu ích để kiểm tra xem một biến có phải là null hay không.