Mam funkcje rekurencyjną, która pobiera zmienną z tablicą i w odpowiendi sposób tworzy zagnieżdżoną listę html. Czyli dodaje gnieniegdzie <ul>, <li>, <a> i tego typu teksty. Jeśli w funkcji jest echo to wszystko wyświetla się bez przeszkód. No ale ja chciałbym z tego echo zrezygnować i cały wynik zwrócić jako zmienną i dlatego dodałem referencje. Jak można to poprawić

Funckja wygląda jakoś tak:
function ff( $z1, $z2, $z3, &$wynik = '' )
{
$wynik = $wynik . '<ul>';
/*jakiś kod*/
ff( $z1, $z2, $z3, &$wynik );
$wynik = $wynik . '</ul>';
return $wynik;
}
Czemu to nie chce dobrze działać? A może jest jakiś inny sposób na uniknięcie echo w środku funkcji?
pozdro