Richard: DOMDocument und removeChild mit item()

Beitrag lesen

Hallo wahsaga,

for ($i = 0; $i < $items->length; $i++) {
   echo $doc->removeChild( $items->item( $i ) );

Berücksichtige, dass du mit jedem Entfernen eines Kindelementes $items->length um eins verringerst, und dass sich auch die Indices der verbleibenden Elemente entsprechend verringern.

Wenn ich

for ($i = 0; $i < $items->length; $i++) {  
   echo $doc->removeChild( $items->item( 0 ) );  
}

schreibe (also mit 0 anstatt $i), müsste doch immer das erste Element gelöscht werden. Und zwar nach meinem logischen Verständnis genau $items->length Mal. Oder wird $items->length beim zweiten Schleifendurchlauf dynamisch um eins verringert?

Abgesehen davon - warum funktioniert denn folgendes nicht? (selber Fehler)

$doc->removeChild( $doc->getElementsByTagName( 'name' )->item( 0 ) );

Beste Grüße
Richard

--
Um Rekursion zu verstehen, muss man erstmal Rekursion verstehen.
~§%+