Array in PHP mit unset löschen

Speicherplatz samt Daten deaktivieren

So toll die Möglichkeiten sind, mit Arrays unter PHP zu arbeiten - es gibt doch auch Situationen, in denen das Array nicht mehr gebraucht wird und entsorgt werden soll. Für solche Fälle gibt es verschiedene Wege, abhängig davon, ob das ganze Array oder nur ein Datensatz gelöscht werden soll.

Zuständig für beide Überlegungen ist der gleiche Befehl in PHP, der unset heißt und je nach zusätzlichen Angaben konsequent ein ganzes Array sofort löschen kann oder nur bestimmte Datensätze aus dem Speicherfundus entfernt.

Mit unset in PHP Array oder Array-Datensätze löschen

<?php
unset($array);
$array = array();
unset($array[11]);
?>

Im Code sind drei Beispiele eingesetzt, die allesamt in der Praxis auftreten können. Sehr häufig wird mit unset das Array komplett gelöscht. Hier wird davon ausgegangen, dass das Array in der Variable $array gespeichert war. Mit unset($array) ist das gesamte Array mit allen enthaltenen Daten gelöscht.

Problematisch kann unset werden, wenn es Skriptteile gibt, die ein Array zur Verarbeitung brauchen. Hier bietet sich die zweite Lösung an, indem mit

$array = array();

das Array nicht gelöscht, sondern geleert wird. Die selbe Technik sollte man auch beim Anlegen eines Array überdenken, sodass das Array auf jeden Fall definiert ist, egal ob es nachher Daten gibt oder nicht. Sollte es Daten geben, steht die Variable bereits zur Verfügung, andernfalls wird ein Array angesprochen, das man gar nicht zur Verfügung hat.

Eine dritte Variante ist das letzte Beispiel, bei dem ein bestimmter Datensatz gelöscht werden soll. Hier tritt wieder der unset-Befehl auf den Plan und löscht den Datensatz aus dem Array, der in den eckigen Klammern gemäß der Array-Schreibweise angeführt ist. Man kann also gezielt einen bestimmten Datensatz aus dem Array entfernen.

Unset in der Praxis

Allerdings ist es höchst unwahrscheinlich, dass man gerade einen bestimmten Wert aus dem Array löscht. Entweder lässt man die Datenstruktur wie sie ist oder man löscht mit unset das gesamte Array. Dass man nur Teile daraus entsorgt mag vorkommen, ist aber eher selten ein Thema. Vorstellbar wäre es etwa in einer Situation, in der fehlerhafte Daten entdeckt werden und der ganze Datensatz damit entfernt werden soll. Das könnte dann der Fall sein, wenn man über eine Schnittstelle Adressen bezieht und es fehlt der Straßenname bei manchen Datensätzen. Jene, bei denen der Fehler erkannt wird, werden aus dem Array gelöscht.

Lesen Sie auch

Das Thema PHP + Array ist eines, das man oft brauchen wird, wenn man mit PHP programmieren möchte. In einem Array können auch komplexere Datenstrukturen gespeichert werden, aber die Abfrage ist manchmal etwas irritierend. Man legt mit dem Befehl array ein solches Array an, mit dem Key kann man abfragen, mit unset löschen und mit list und array_walk Abfragen durchführen.

Ein anderes Thema ist die Session. PHP + Session ermöglicht die Abfrage des Besuchers bei Sitzungsverwaltungen wie etwa einem Mitgliederbereich und man kann seitenübergreifend Daten rund um den Besucher wie die eingetragenen Zugangsdaten verwalten.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel