yazdığınız şekil tamamiyle yanlış denemedim fakat aşağıdaki şekilde mühtemelen çalışır
switch ($action) {
case "start":
foreach ($menu as $opt ){
echo $opt["menu_start"];
}
break;
case "menu_name":
foreach ($menu as $opt ){
echo $opt["menu_name"];
}
break;
case "menu_self":
foreach ($menu as $opt ){
echo $opt["menu_self"];
}
break;
case "end":
break;
}switch case ile if else arasında hiç bir fark yok hatta if conditions switch den daha hızlı çalışır