unset
(PHP 4, PHP 5, PHP 7, PHP 8)
unset — Видалення змінної
Опис
unset(mixed $var, mixed ...$vars): void
Мовна конструкція unset() видаляє перелічені змінні.
Поведінка мовної конструкції unset() всередині функції може змінюватися і залежить від типу змінної, що видаляється.
Якщо глобальна змінна видаляється всередині функції, буде видалено лише локальна змінна. Змінна в області видимості дзвінка функції збереже те саме значення, що й до дзвінка unset()
Loading...
Результат виконання наведеного прикладу:
bar
Щоб видалити глобальну змінну всередині функції, використовують масив $GLOBALS :
Loading...
Якщо змінна, яка передається за посиланням, видаляється всередині функції, то буде видалена тільки локальна змінна. Змінна в області видимості дзвінка функції збереже те саме значення, що й до дзвінка unset()
Loading...
Результат виконання наведеного прикладу:
something
something
Якщо статична змінна видаляється всередині функції, конструкція unset() видалить змінну тільки в контексті частини функції, що залишилася. Під час наступного виклику попереднє значення змінної буде відновлено.
Loading...
Результат виконання наведеного прикладу:
До удаления: 1, После удаления: 23
До удаления: 2, После удаления: 23
До удаления: 3, После удаления: 23
Список параметрів
var
Видалена змінна.
vars
Наступні змінні.
Значення, що повертаються
Функція не повертає значення після виконання.
Приклади
Приклад #1 Приклад використання unset()****
Loading...
Приклад #2 Использование приведения типа(unset)
Приведение типа(unset)
часто плутають із конструкцією **unset()**Приведение типа(unset)
приводить лише до значення NULL
та було додано лише для повноти реалізації. Воно не змінює значення змінної, що наводиться. З PHP 7.2.0 перетворення типу (unset) оголошено застарілим та видалено у PHP 8.0.0.
Loading...
Результат виконання наведеного прикладу:
NULL
string(6) "Felipe"
Примітки
Зауваження: Оскільки це мовна конструкція, а не функція, її не можна викликати як змінну функцію або передавати як іменований аргумент
Зауваження :
Ви можете видалити властивості об'єкта, видимі в контексті.
Якщо визначено (у класі), метод __get() буде викликаний при спробі отримати невстановлену властивість, а метод __set() буде викликаний при спробі встановити невизначену властивість.
Зауваження :
Невозможно удалить псевдопеременную текущего контекста
$this
усередині методу об'єкта.
Зауваження :
При виклику конструкції unset() на недоступних або неоголошених властивостях об'єкта буде викликано метод навантаження __unset()якщо він визначений.
Дивіться також
- isset() - Визначає, чи була встановлена змінна значенням, відмінним від null
- empty() - Перевіряє, чи порожня змінна
- __unset()
- array_splice() - Видаляє частину масиву і замінює її чимось ще
- Приведення типу (unset)