3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Stick this with your helper functions function buildMenu($navigation, $currentPage){ echo '<ul>'; foreach ($navigation as $key => $val) { $class = $val === $currentPage ? 'on' : 'off'; echo '<li>'; if( is_array($val) ){ echo '<a href="#" class="' . $class . '">' . $key . '</a>'; buildMenu($val, $currentPage); } else { echo '<a href="' . $val . '" class="' . $class . '">' . $key . '</a>'; } echo '</li>'; }; echo '</ul>'; }; // Define current page $currentPage = 'club.php'; // Build up your navigation arrays $navigation = array( 'News' => '#', 'About' => array( 'Club' => 'club.php', 'Coaches' => 'coaches.php', 'Officials' => 'officials.php', 'Management' => 'management.php' ) ); // Build HTML buildMenu($navigation, $currentPage);
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
<ul><li><a href="#" class="off">News</a></li><li><a href="#" class="off">About</a><ul><li><a href="club.php" class="on">Club</a></li><li><a href="coaches.php" class="off">Coaches</a></li><li><a href="officials.php" class="off">Officials</a></li><li><a href="management.php" class="off">Management</a></li></ul></li></ul>

preferences:
286.29 ms | 406 KiB | 460 Q