Ciao a tutti

ho un problema con il return di una funzione ricorsiva per cercare a che livello
è una data stringa in un array multidimensionale.
Codice PHP:
function getLevel(&$source$toSearch,$level 1)
    {
        foreach(
$source as $key=>$value){
            if(
is_array($value)){
                
getLevel($value$toSearch,  $level+1);
            }else{
                if(
$value == $toSearch){
                    return 
$level;
                }
            }
        }
    } 
facendo echo getLevel($mioarray,'ciccio') non mi viene ritornato nulla.

Invece sostituendo i return con l'echo mi viene stampato il livello.

Non capisco il perchè di questa "anomalia".