Arrays und Arrayvariablen

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

Drucken

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);
Wie kann ich ein Element aus einem Array löschen?
http://www.php-faq.de/q-arrays-loeschen.html