Trong PHP, unset()unlink() đều là các hàm dùng để xóa nhưng phục vụ cho các mục đích khác nhau. Dưới đây là sự phân biệt giữa chúng:

1. unset()

  • Chức năng: Hàm unset() được sử dụng để giải phóng một biến hoặc một phần tử trong mảng. Khi bạn gọi unset() trên một biến, biến đó sẽ không còn tồn tại và không thể truy cập được nữa.
  • Sử dụng: Thích hợp cho việc xóa các biến trong mã PHP, bao gồm cả các phần tử trong mảng.
  • Ví dụ:
$var = "Hello, World!";
unset($var); // Biến $var sẽ không còn tồn tại
echo $var; // Kết quả sẽ gây ra lỗi vì $var đã bị xóa
  • Đối tượng: Bạn có thể sử dụng unset() để xóa các thuộc tính của đối tượng.
class MyClass {
    public $property = "Value";
}

$obj = new MyClass();
unset($obj->property); // Xóa thuộc tính 'property' của đối tượng

2. unlink()

  • Chức năng: Hàm unlink() được sử dụng để xóa một tệp từ hệ thống tệp. Khi bạn gọi unlink() với đường dẫn đến một tệp, tệp đó sẽ bị xóa hoàn toàn.
  • Sử dụng: Thích hợp cho việc xóa các tệp trên máy chủ.
  • Ví dụ:
$file = 'path/to/file.txt';
if (unlink($file)) {
    echo "Tệp đã được xóa thành công.";
} else {
    echo "Không thể xóa tệp.";
}
  • Lưu ý: Nếu bạn cố gắng xóa một tệp không tồn tại hoặc không có quyền xóa, unlink() sẽ trả về false.

Tóm tắt

Đặc điểmunset()unlink()
Chức năngGiải phóng biến hoặc phần tử trong mảngXóa tệp từ hệ thống tệp
Sử dụngDùng để xóa biến trong mã PHPDùng để xóa tệp trên máy chủ
Kết quảBiến không còn tồn tạiTệp bị xóa, trả về true nếu thành công; false nếu thất bại