Problem mit return aus rek. Schleife

maxOn-line

Grünschnabel
Hi,

ich habe ne Funktion mit ner for-Schleife, nach der sich unter einer bestimmten Bedingung die Funktion selbst wieder aufruft.
Wenn diese Bedingung nicht mehr eintritt soll ein Array per return ausgegeben werden. Wenn diese If-Bedingung nicht einmal eintritt und die Funktion ohne rekursiven Aufruf den Wert "returned" funktioniert es ohne Probleme. Sobald sich die Schleife aber einmal selbst aufgerufen hat "returned" er nichts. Ich habe mir mal direkt vor dem return das enstprechende Array printen lassen. Es ist immer korrekt egal ob der rekursive Aufruf statt gefunden hat oder nicht.. aber das return liefert mir einfach nichts. Kann es sein, dass man wenn sich eine funktion selber aufruft da noch irgendwas beachten muss? Kann doch irgendwie was nit stimmen oder..

Gruß, maxon
 
Zuletzt bearbeitet:
Ein bisschen Code wäre nicht schlecht :-)

Zu rekursiven Funktionen musst du eigentlich nur beachten, das sie sich irgenwann selbst abbricht und dass sich der Wert, der an die Funktion übergeben wird sich immer wieder ändert
 
Also gut hier ein wenig Kot :-D :

PHP:
function fetchSmallest($key, $arr, $zNow, $A){
	
	$minV = 9999;
	$key1 = $key."1" ;
	$key2 =  $key."2";
	
	for ($j=0; $j<count($arr); $j++){
		for ($k=0; $k<count($arr[$j]); $k++){
			if ($minV > $arr[$j][$k][$key1] && $zNow >= $arr[$j][$k]["Z1"]){
				$min = array($j,$k);
				$minV = $arr[$j][$k][$key1];
			}
			if ($minV > $arr[$j][$k][$key2] && $zNow >= $arr[$j][$k]["Z2"]){
				$min = array($j,$k);
				$minV = $arr[$j][$k][$key2];
			}
		}
	}
	
	if ($minV == 9999){
		$zNow = nextZ($zNow, $arr);    //liefert den naechst größeren Z wert
		
		fetchSmallest($key, $arr, $zNow, $A);
	}
	
	print_r($min);
	return $min;
}

Wenn es mit dem ersten Z-Vergleichswert nichts findet, soll er sich den nächst größeren holen und es damit versuchen, so lange bis er einen passenden gefunden hat, den es aufgrund der Array- Inhalte geben muss.

Und zur Aufheiterung noch nen lustingen eBay Link (Achtung: Off-Topic!):
http://cgi.ebay.de/U-Boot-Funkferng...408468618QQcategoryZ87483QQrdZ1QQcmdZViewItem

besonders Foto Nr.4 ist interessant :-D die Dame wird sich freuen..

Gruß, maxon
 
Zurück