eneR: Vereinfachung von PHP-Code

Beitrag lesen

Hallo,

Hi,

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?

Ich hab hier mal eine (ungetestete) rekursive Lösung geschrieben:

  
$positions = $xml->positions;  
$positionLevels=dive($positions, 0);  
  
function dive($position, $p) {  
	$count = count ($position->position);  
	if ($count>0) {  
		$p++;  
	}  
	for ($pos=0;$pos<$count;$pos++) {  
		$posi=$position->position[$pos];  
		$a= dive($posi, $p);  
		if ($a>$p) {  
			$p=$a;  
		}  
	}  
	return $p;  
}  

Isnicht ganz sauber und wie gesagt ungetestet, aber evtl hilft dir das ja weiter :)

Gruß,
eneR