Ich nehme mal als Basis den Beitrag auf dieser URL: http://www.phpbuddy.eu/mehrdimensionales-array-hierarchisch-ausgeben.html.
Ich möchte ein Array mit RecursiveIteratorIterator durchlaufen, möchte aber den Fall unterscheiden, dass wenn bspw. der Arraykey "tv" aufgerufen wird, ich die ersten 2 Elemente darin überspringe. (warum auch immer ;-))
Nun hatte ich zuerst gedacht, dass ich mit foreach über die Elemente iteriere, aber dann muss ich die 2 Elemente, die ich überspringe mir merken und dann 2x next() anwenden:
Hat jemand eine Idee wie ich das eleganter anstelle? Ich hatte auch schon überlegt, dass ich mit einer for-Schleife durchwandere, aber ich weiß nicht wie ich den Zähler $i hier anwende:
Und hier ist das Array zur Verdeutlichung:
Ich möchte ein Array mit RecursiveIteratorIterator durchlaufen, möchte aber den Fall unterscheiden, dass wenn bspw. der Arraykey "tv" aufgerufen wird, ich die ersten 2 Elemente darin überspringe. (warum auch immer ;-))
Nun hatte ich zuerst gedacht, dass ich mit foreach über die Elemente iteriere, aber dann muss ich die 2 Elemente, die ich überspringe mir merken und dann 2x next() anwenden:
Code:
$a = new \RecursiveArrayIterator($data);
$iterator = new \RecursiveIteratorIterator($a, TRUE );
$iterator->rewind();
foreach ($iterator as $key => $val){
if($key=='tv'){
//in Schleife solange durchgehen, bis die ersten 2 Elemente durchgelaufen sind. Merke mir den Wert 2 und
// durchlaufen hierin eine for Schleife in der 4 mal $iterator->next() angewandt wird
}
}
Code:
for($i=0;$i<=iterator_count($iterator);$i++){
}
Code:
produkte
elektronik
tv
LG Electronics
Samsung
Toshiba
Sony
video
DVD
Sony
Panasonic
Philips
Blu-ray
Samsung
Panasonic
Philips
Toshiba
baumarkt
renovieren
Tapeten
Farben
Bodenbeläge
baustoffe
Beton
Dämmstoffe
arbeitskleidung
Gehörschutz
Sicherheitsschuhe
Schutzbrille
service
Beratung
Bestellung und Versand
Telefon Hotline
FAQ