php-resource

PHP Handbuch

unset

unset

(PHP 3, PHP 4, PHP 5)

unset -- Löschen einer angegebenen Variablen

Beschreibung

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

unset() löscht die angegebene Variable. Beachten Sie, dass in PHP 3 unset() immer TRUE zurückgibt (eigentlich den Integer-Wert 1). In PHP 4 ist unset() allerdings keine wirkliche Funktion mehr: Es ist nun ein Sprachkonstrukt. Daher wird kein Wert zurückgegeben, und der Versuch, einen Rückgabewert von unset() zu erhalten, erzeugt einen Parse Error.

Beispiel 1. unset()-Beispiel

<?php
// löscht eine einzelne Variable
unset($foo);

// löscht ein einzelnes Element eines Arrays
unset($bar['quux']);

// löscht mehr als eine Variable
unset($foo1, $foo2, $foo3);
?>

Anmerkung: Es ist möglich, sogar Objekteigenschaften zu löschen, die im aktuellen Kontext sichtbar sind.

Das Verhalten von unset() innerhalb einer Funktion kann abhängig davon, was für einen Variablentyp Sie zu löschen versuchen, variieren.

Wenn eine globalisierte Variable innerhalb einer Funktion mit unset() behandelt wird, wird nur die lokale Variable gelöscht. Die Variable innerhalb der aufrufenden Umgebung behält den selben Wert wie vor dem Aufruf von unset().

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

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar

Wenn Sie eine globale Variable innerhalb einer Funktion löschen wollen, können Sie das $GLOBALS-Array dazu verwenden:

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

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

Wenn eine Variable, die als Referenz übergeben wird ("Passed by Reference"), innerhalb einer Funktion gelöscht wird, wird nur die lokale Variable gelöscht. Die Variable im aufrufenden Environment enthält den selben Wert wie vor dem Aufruf von unset().

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

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

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

something
something

Wenn eine statische Variable innerhalb einer Funktion gelöscht wird, löscht unset() die Variable nur im Kontext des verbleibenden Funktionsablaufs. Die folgenden Aufrufe stellen den vorhergehenden Wert der Variablen wieder her.

<?php
function foo()
{
    static
$bar;
    
$bar++;
    echo
"Vor unset: $bar, ";
    unset(
$bar);
    
$bar = 23;
    echo
"nach unset: $bar\n";
}

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Vor unset: 1, nach unset: 23
Vor unset: 2, nach unset: 23
Vor unset: 3, nach unset: 23

Anmerkung: Da dies ein Sprachkonstrukt und keine Funktion ist, deshalb können Sie dieses nicht mit Variablenfunktionen verwenden.

Siehe auch isset(), empty() und array_splice().



Anmerkungen zum PHP Handbuch
Neue Anmerkung schreiben
 



 

Neuzugänge PHP MySQL Tutorials

Joomla! Starterhilfe

Dieses Tutorial begleitet Sie bei dem Einstieg in die Welt von dem CMS Joomla!.

17.01.2012 werninator | Kategorie: MySQL
Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen.

07.12.2010 phpsven | Kategorie: PHP
Tutorials zu Facebook Anwendungen mit PHP

In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit.

06.12.2010 abouttheweb | Kategorie: PHP