unset

(PHP 4, PHP 5, PHP 7)

unsetElimină o variabilă dată

Descrierea

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

unset() distruge variabila specificată.

Comportamentul unset() în interiorul unei funcții poate varia în dependență de tipul variabilei pe care încercați să o distrugeți.

Dacă este aplicat unset() asupra unei variabile globale în interiorul unei funcții, numai variabila locală va fi distrusă. Variabila din mediul apelant își va păstra aceeași valoare ca și până la apelul unset().

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

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

Exemplul de mai sus va afișa:

bar

Dacă doriți să aplicați unset() asupra unei variabile globale din interiorul unei funcții, puteți utiliza tabloul $GLOBALS pentru aceasta:

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

$bar "ceva";
foo();
?>

Dacă se aplică unset() în interiorul unei funcții asupra unei variabile care este transmisă PRIN REFERINȚĂ, numai variabila locală va fi distrusă. Variabila din mediul apelant își va păstra aceeași valoare ca și până la apelul unset().

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

$bar 'ceva';
echo 
"$bar\n";

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

Exemplul de mai sus va afișa:

ceva
ceva

Dacă se aplică unset() asupra unei variabile statice în interiorul unei funcții, unset() distruge variabila numai în contextul restului funcției. Apelurile următoare vor restabili valoarea precedentă a variabilei.

<?php
function foo()
{
    static 
$bar;
    
$bar++;
    echo 
"Înainte de unset: $bar, ";
    unset(
$bar);
    
$bar 23;
    echo 
"după unset: $bar\n";
}

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

Exemplul de mai sus va afișa:

Înainte de unset: 1, după unset: 23
Înainte de unset: 2, după unset: 23
Înainte de unset: 3, după unset: 23

Parametri

var

Variabila ce va fi eliminată.

...

O altă variabilă ...

Valorile întoarse

Nu este întoarsă nici o valoare.

Exemple

Example #1 Exemplu unset()

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

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

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

Example #2 Utilizarea modificatorului (unset)

Utilizarea modificatorului (unset) este deseori confundată cu funcția unset(). Modificarea cu ajutorul (unset) servește doar pentru transformarea într-un tip NULL, pentru a asigura completitudinea. El nu modifică variabla căreia îi modifică tipul.

<?php
$name 
'Felipe';

var_dump((unset) $name);
var_dump($name);
?>

Exemplul de mai sus va afișa:

NULL
string(6) "Felipe"

Note

Notă: Deoarece aceasta este o construcție a limbajului și nu o funcție, ea nu poate fi apelată utilizând funcții de operare cu variabile .

Notă:

Este posibil de a elimina chiar și proprietăți ale obiectelor vizibile în contextul curent.

Notă:

Nu este posibil de a elimina $this în interiorul unei metode a unui obiect începând cu PHP 5.

Notă:

La utilizarea unset() asupra proprietăților inaccesibile ale obiectelor, va fi apelată metoda de supraîncărcare __unset(), dacă este declarată.

A se vedea și

  • isset() - Determină dacă o variablă este stabilită și nu este NULL
  • empty() - Determină dacă o variabilă este vidă
  • __unset()
  • array_splice() - Remove a portion of the array and replace it with something else