10. satırda
<li> <input type="radio" name="ustmenu" value="'.$menu->id.'" /> '.$radioButtonY.' '.$menu->baslik.' '.
menuListele2($menu->id).'</li>
fonksiyonu tekrar cagırmışsın. buda li açıklaması içinde tekrara sebep olmuş.
edit: fonksiyonun çıktısı ile istediğin çıktı tamamen farklı. Fonksiyonu değiştirmek gerekli.
edit 2: umarım aşağıdaki kod istediğini verir.
<?php function menuListele2($menuid=0,$ozellik="")
{
$yaz ="<ul>";
global $vt;
$menusql = $vt->tablo("SELECT * FROM menuler where ustmenu='".$menuid."' ".$ozellik." order by sira and ozellik asc ");
foreach($menusql as $menu)
{
$yaz.= ' <li> '.$radioButtonY.' '.$menu->baslik.'</li> ';
}
$yaz .="<ul>";
return $yaz;
}
echo menuListele2(0);?>