Bez záruky, v PHP nedělám.
function makeList($array, $prevKey = null){
if (is_array($array)) {
$pridej_ul=false;
foreach ($array as $key => $subArray){
$url = $prevKey.$key;
if (isset($subArray["url"])) {
$pridej_ul=true;
$output .= '<li>';
$output .= '<a href="'.$url.'">'.$subArray["name"].'</a>';
$output .= makeList($subArray);
$output .= '</li>';
}
else $output .= makeList($subArray, $url."/");
}
if ($pridej_ul) $output = '<ul>'.$output.'</ul>';
}
else $output = '';
return $output;
}