peter81: Vereinfachung von PHP-Code

Beitrag lesen

Hallo,

ich steh leider im Moment einwenig auf der Leitung. Ich habe folgenden Code geschrieben

for($num[0] = count($xml->positions->position), $crr[0] = 0; $crr[0] < $num[0]; $crr[0]++) {  
	$xmlLevels = 1;  
	  
	for($num[1] = count($xml->positions->position[$crr[0]]->position), $crr[1] = 0; $crr[1] < $num[1]; $crr[1]++) {  
		$xmlLevels = 2;  
		  
		for($num[2] = count($xml->positions->position[$crr[0]]->position[$crr[1]]->position), $crr[2] = 0; $crr[2] < $num[2]; $crr[2]++) {  
			$xmlLevels = 3;  
			  
			for($num[3] = count($xml->positions->position[$crr[0]]->position[$crr[1]]->position[$crr[2]]->position), $crr[3] = 0; $crr[3] < $num[3]; $crr[3]++) {  
				$xmlLevels = 4;  
				  
				//...müsste immer so weiter gehn ?!  
			}  
		}  
	}  
}

Allerdings ist das nicht wirklich sinnvoll, denn ich möchte damit checken wie viele "Level" es in der XML-Datei gibt, und nicht bereits vorher die Anzahl der eben durch die Anzahl der for-Schleifen begrenzen.
Leider komm ich selbst nicht drauf wie ich das schlauer lösen kann. Kann mir jemand helfen?

Die XML-Datei ist so aufgebaut:

<positions>
   <position>
       <position>
          ...
       </position>
   </position>

<position></position>

</positions>

Das ganze soll sich allerdings unbegrenzt verschachteln lassen.

Liebe Grüße,
Peter