Ответ
Функции unset() и unlink() выполняют принципиально разные операции в PHP.
unset() — языковая конструкция для уничтожения переменных. Она удаляет переменную из текущей области видимости, освобождая занимаемую ею память.
$user = ['name' => 'Alice'];
$temp = $user;
unset($user); // Уничтожает переменную $user
// echo $user; // Вызовет Notice: Undefined variable
// $temp при этом все еще существует и содержит массив.
unlink() — функция для работы с файловой системой. Она удаляет файл с диска.
$filePath = 'logs/temp.txt';
if (file_exists($filePath)) {
if (unlink($filePath)) {
echo "Файл успешно удален.";
} else {
echo "Не удалось удалить файл.";
}
}
| Сводка отличий: | Аспект | unset() |
unlink() |
|---|---|---|---|
| Объект | Переменная, элемент массива, свойство объекта. | Файл в файловой системе. | |
| Контекст | Работа с памятью и областью видимости. | Работа с файловой системой (ввод-вывод). | |
| Возвращаемое значение | null (не возвращает значимого значения). |
true в случае успеха, false в случае ошибки. |
|
| Последствия | Переменная становится неопределенной. | Файл физически удаляется с диска. |