Hi,
Hi,
ich habe in php.net eine kleine Funktion gefunden und sie auf meine Bedürfnisse angepasst.
Leider führt sie das return nicht richtig aus
function array_search_r($needle, $haystack)
{
$i=0;
while($i<count($haystack))
{
if(is_array($haystack[$i]))
{
$match=array_search_r($needle, $haystack[$i]);
//Egal was der rekursive Aufruf zurückliefert - es wird NIEMALS zurückgegeben
//hier müßte m.E. die Abprüfung auf false erfolgen und ggf. $match zurückgegeben werden.
}
if($haystack[$i]==$needle)
{
//$i ist nur ein Zähler, der Werte von 0 bis count($haystack) annehmen kann
//$match ist hier also immer eine Zahl und niemals false. Die Abprüfung auf false ist sinnlos.
//die folgenden 4 Zeilen sind identisch mit return $i
$match = $i;
if($match!==false)
{
return $match;
}
}
$i++;
}
return false;
}
Ach ja, sauberes Einrücken erleichtert es ganz wesentlich, die Codestruktur zu erkennen...
cu,
Andreas
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/