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()якщо він визначений.

Дивіться також