Yo te sugeriría reemplazar ese bloque if($menu) {...} por una función recursiva, de tal manera que te permita incluir más niveles de submenúes y no tengas que repetir el código para imprimir links 2 veces
Código PHP:
$menu = array(
"Inicio" => "index.php",
"enlace 2" => "algo.php",
"enlace 3" => "otra_cosa.php",
"Titulo subcategoria" => array(
"subenlace 1" => "sub1.php",
"subenlace 2" => "sub2.php",
),
"Hazte Socio" => "socio.php",
"Contactar" => "contacto.php",
"Foro"=>"foro.php"
);
function menu($menu) {
$str = "<ul>\n";
$esta_pagina = basename($_SERVER['SCRIPT_NAME']);
foreach($menu as $title=>$url)
{
if(!is_array($url))
{
$str.= "<li";
if($esta_pagina == $url)
{
# Es la página actual, por lo que aplicamos la clase
$str.= " class=\"current\"";
}
$str.= "><a href=\"$url\">$title</a></li>\n";
}
else
{
$str.= "<li>$title</li>\n";
$str.= "<li class=\"submenu\">\n";
$str.= menu($url);
$str.= "</li>\n";
}
}
$str.= "</ul>\n";
return $str;
}
echo menu($menu);
En fin... es lo mismo.
Un saludo,