Navigation menu that highlights the current page using PHP and CSS

Example

PHP Code

<?php
    $currentPage = $_SERVER["REQUEST_URI"];
    $pages = array(
        array("href" => "/home/", "title" => "Home"),
        array("href" => "/blog/", "title" => "Blog"),
        array("href" => "/portfolio/", "title" => "Portfolio"),
        array("href" => "/about/", "title" => "About Me"),
        array("href" => "/contact/", "title" => "Contact Me")
    );
    $menu = "<ul>";
    $class = "";
    foreach ($pages as $page) {
       $class = ($page["href"] == $currentPage) ? ' class="current"' : '';
       $menu .= <<<HTML
<li{$class}><a href="{$page["href"]}">{$page["title"]}</a></li>
HTML;
    }  
    $menu .= "</ul>";
    echo $menu;
?>
    

Generated HTML

<ul class="nav">
    <li><a href="/home/">Home</a></li>
    <li><a href="/blog/">Blog</a></li>
    <li class="current"><a href="/portfolio/">Portfolio</a></li>
    <li><a href="/about/">About Me</a></li>
    <li><a href="/contact/">Contact Me</a></li>
</ul>    
    

CSS

li a {
    color: blue;
    text-decoration: none;
}
li.current a {
    color: black;
    cursor: default;
    text-decoration: underline;
    font-weight: bold;
}