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, 
