pues tendrás que aclararnos como viene la data, por que lo que veo es un sólo ciclo, lo que me hace suponer que la data viene de ésta forma:
menu1 submenu1 dato1
menu1 submenu1 dato2
menu1 submenu2 dato1
¿estoy en lo cierto?, en dicho caso lo ideal es usar una variable $lastsubmenu con el primer menu antes de ciclo y cortarlo (por html) cuando en la proxima vuelta del ciclo el menu cambie, seteando $lastsubmenu en el menú actual.
espero haberme explicado claro