Start · Sprachen · PHP · Referenz · delete

delete

Funktion

<code>delete</code> ist kein eigenständiges Sprachkonstrukt in PHP – es verweist auf <code>unlink()</code> (Datei löschen) oder <code>unset()</code> (Variable löschen).

Kategorie: io

Signatur

delete(mixed $var): void

Beschreibung

delete existiert in PHP nicht als eigenständige Funktion oder Sprachkonstrukt. Der Name taucht in der PHP-Dokumentation lediglich als Alias-Hinweis auf, der auf die beiden tatsächlich existierenden Mechanismen verweist: unlink() zum Löschen von Dateien und unset() zum Freigeben von Variablen.

Um eine Datei vom Dateisystem zu entfernen, verwendet man unlink(string $filename). Die Funktion gibt true zurück, wenn die Datei erfolgreich gelöscht wurde, und false bei einem Fehler (z. B. fehlende Schreibrechte oder nicht vorhandene Datei).

Um eine Variable, einen Array-Eintrag oder eine Objekteigenschaft aus dem aktuellen Gültigkeitsbereich zu entfernen, verwendet man das Sprachkonstrukt unset(mixed $var, mixed ...$vars): void. Nach dem Aufruf ist die Variable nicht mehr gesetzt, ein anschließendes isset() liefert false.

Entwickler, die aus anderen Sprachen wie C++ oder JavaScript kommen, suchen oft nach delete – in PHP sollte je nach Anwendungsfall konsequent unlink() oder unset() genutzt werden.

Parameter

Name Typ Default Beschreibung
$var Pflicht mixed Nicht zutreffend – delete existiert nicht als PHP-Funktion. Siehe unlink() für Dateipfade und unset() für Variablen.

Rückgabewert

Typ
void
Beschreibung
Nicht zutreffend – delete ist kein gültiges PHP-Konstrukt. unlink() gibt bool zurück, unset() gibt void zurück.

Beispiele

Datei löschen mit unlink()

<?php
$datei = '/tmp/beispiel.txt';

// Datei erstellen
file_put_contents($datei, 'Testinhalt');

// Datei löschen
if (unlink($datei)) {
    echo "Datei erfolgreich gelöscht.";
} else {
    echo "Fehler beim Löschen der Datei.";
}
Datei erfolgreich gelöscht.

Variable und Array-Eintrag entfernen mit unset()

<?php
$name = 'PHP';
$daten = ['a' => 1, 'b' => 2, 'c' => 3];

// Variable löschen
unset($name);
var_dump(isset($name)); // false

// Array-Eintrag löschen
unset($daten['b']);
print_r($daten);
bool(false) Array ( [a] => 1 [c] => 3 )

// Wichtig · Fallstricke

Sicherheitshinweis für unlink(): Niemals benutzerkontrollierte Eingaben direkt als Dateipfad verwenden, da dies zu einem Path-Traversal-Angriff führen kann (z. B. ../../etc/passwd). Pfade immer mit basename() oder realpath() validieren und auf erlaubte Verzeichnisse prüfen.

Hinweis zu unset(): Das Aufrufen von unset() auf eine Variable innerhalb einer Funktion beeinflusst nicht die gleichnamige Variable im globalen Gültigkeitsbereich. Um eine globale Variable zu entfernen, muss unset($GLOBALS['varname']) verwendet werden.

delete als direkter Funktionsaufruf erzeugt in PHP einen Fatal Error (Call to undefined function delete()).