de.comp.lang.php.* FAQ

9.3. Wie kann ich ein Element aus einem Array löschen?

Keywords: Array | loeschen | Element | entfernen

Antwort von Johannes Frömter

Mit unset() kann man sowohl Variablen (Strings, ganze Arrays etc.) als auch einzelne Elemente eines Arrays löschen:

$array = array('P', 'H', 'P');

// Löscht das 'H'
unset($array[1]);

// Löscht das ganze Array
unset($array);

Durch das Löschen einzelner Einträge entstehen Lücken im Index des Arrays (d.h. $array[1] greift ins Leere); die Array-Funktionen selbst (wie z.B. foreach() oder each() ) stört dies jedoch nicht. Benötigt man dennoch ein Array mit fortlaufendem Index für direkten Zugriff, muss man es aus den verbleibenden Elementen neu erstellen:

// Array mit fortlaufendem Index erzeugen
$array = array_values($array);

Weiterhin kann man auch mit array_splice() Teile eines Arrays entfernen, und dabei automatisch einen zusammenhängenden numerischen Index erzeugen lassen (falls das benötigt wird):

// In $array ab Index 1 ein Element durch nichts ersetzen
array_splice($array, 1, 1);

Valid HTML 4.01! Valid CSS!

9.3. Wie kann ich ein Element aus einem Array löschen?
http://www.php-faq.de/q/q-arrays-loeschen.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team