romy: return in rekursiver funktion

Beitrag lesen

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

<code>
function array_search_r($needle, $haystack){
  $i=0;
  while($i<count($haystack)){
     if(is_array($haystack[$i])) {
       $match=array_search_r($needle, $haystack[$i]);
     }
     if($haystack[$i]==$needle) {
 $match = $i;
 if($match!==false) {
    return $match;
 }

}
     $i++;
  }
  return false;
}
</code>

ich bekomme immer false zurück, obwohl die Funktion bei entsprechendne Werten in den if-zweig, der das andere return beinhaltet, reinspringt. Aber er scheint trotzdem bis zum Ende durchzugehen. Ein exit; hat nicht geholfen.
Aber es sollte doch eine einfache Lösung geben, oder nicht?

ciao\nromy