Функции Язык программирования PHP

unset

(unknown)

unset - разустанавливает данную переменную.

Описание

void unset (mixed var [, mixed var [, ...]])

Примечание: unset() это конструкция языка.

unset() разрушает специфицированные переменные. Заметьте, что в PHP 3 unset() всегда возвращает TRUE(в действительности - integer значение 1). В PHP 4, однако, unset() это больше не true-функция: это теперь оператор. Поскольку никакое значение не возвращается, попытка получить значение unset() даст ошибку разбора.

Пример 1. unset()
// 
разрушить одну переменную unset ($foo); // разрушить один элемент массива unset 
($bar['quux']); // разрушить более одной переменной unset ($foo1, $foo2, $foo3);

Поведение unset() внутри функции может варьироваться в зависимости от тог, переменную какого типы вы пытаетесь разрушить.

Если глобализированная переменная unset() внутри функции, то разрушается только локальная переменная. Переменная в вызывающем окружении останется с тем же значением, что и до вызова unset().
function destroy_foo() 
{ global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo;

Пример выведет:

bar

Если переменная, ПЕРЕДАННАЯ ПО ССЫЛКЕ, unset() внутри функции, то разрушается только локальная переменная. Переменная в вызывающем окружении останется с тем же значением, что и до вызова unset().
function foo(&$bar) 
{ unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); 
echo "$bar\n";

Пример выведет:

something 
something

Если static-переменная unset() внутри функции, unset() разрушает эту переменную все ссылки на неё.
function 
foo() { static $a; $a++; echo "$a\n"; unset($a); } foo(); foo(); foo();

Пример выведет:

1 2 3

Если вы хотите unset() глобальную переменную внутри функции, вы можете использовать массив $GLOBALS:
function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo();

См. также isset() и empty().


Назад Оглавление Вперёд
unserialize Вверх var_dump

Возвращение сложных значений

Ваша функция может также возвращать сложные типы данных, такие как объект/object или массив/array.

Возвращение объекта:

  1. Вызвать object_init(return_value).

  2. Заполнить его значениями. Функции, предназначенные для этого, перечислены ниже.

  3. Возможно, зарегистрировать функции для этого объекта. Чтобы получать значения из объекта, функции понадобится получить "this" из active_symbol_table. Его тип должен быть IS_OBJECT, и это как правило таблица регулярного хэш (т.е. вы можете использовать функции регулярного хэша на .value.ht). Фактическая регистрация функции может быть выполнена с использованием :
    add_method( 
    return_value, function_name, function_ptr );