unset PDF Печать E-mail

(PHP3, PHP4, PHP5)

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);

По материалам сайта: http://www.php.su/

Поведение 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();

По материалам сайта: http://www.php.su/