unset

(PHP 3, PHP 4, PHP 5 )

unset -- Șterge variabilele date

Descriere

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

Notã: unset() este o construcție de limbaj.

unset() distruge variabilele specificate. de notat că în PHP 3, unset() returnează întotdeauna TRUE (de fapt valoarea întreagă 1). În PHP 4, unset() nu mai este o funcție, ci o instrucțiune. De aceea, încercarea de a atribui unei variabile valoarea returnată de unset() se va solda cu eroare gramaticală (parse error).

Exemplu 1. Exemplu pentru unset()

<?php
// distruge o singură variabilă
unset ($foo);

// distruge un singur element al unui tablou
unset ($bar['quux']);

// distruge mai multe variabile
unset ($foo1, $foo2, $foo3);
?>

Comportamentul unset() în interiorul unei funcții poate să varieze în funcție de ce anume se dorește a fi distrus.

Dacă se aplică unset() pe o variabilă globală în interiorul unei funcții, doar variabila locală va fi ștearsă. Valoarea variabilei globale va fi aceeași după ce iese din mediul funcției.

<?php
function destroy_foo() {
    global
$foo;
    unset(
$foo);
}

$foo = 'bar';
destroy_foo();
echo
$foo;
?>

Exemplul de mai sus va afișa:

bar

De asemenea, și dacă o variabilă este transmisă prin referință, va fi distrusă doar variabila din interiorul funcției.

<?php
function foo(&$bar) {
    unset(
$bar);
    
$bar = "blah";
}

$bar = 'something';
echo
"$bar\n";

foo($bar);
echo
"$bar\n";
?>

Exemplul de mai sus va afișa:

something
something

Dacă o variabilă statică este distrusă în interiorul unei funcții, vor fi distruse toate variabilele și referințele lor.

<?php
function foo() {
    static
$a;
    
$a++;
    echo
"$a\n";

    unset(
$a);
}

foo();
foo();
foo();
?>

Exemplul de mai sus va afișa:

1
2
3

Dacă doriți să distrugeți o variabilă globală în interiorul unei funcții, puteți folosi tabloul $GLOBALS:

<?php
function foo() {
    unset(
$GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Mai consultați isset() și empty().