Дублирование реализации при выводе «хлебных крошек»


Исходный код

<div id="navLine">
    <? if(isset($title5)) { ?>
        <a href="index.php">Главная</a> » 
        <a href="index.php?page=<?=$link?>"><?=htmlspecialchars($title)?></a>  »
        <a href="index.php?page=<?=$link2?>"><?=htmlspecialchars($title2)?></a>  »
        <a href="index.php?page=<?=$link3?>#"><?=htmlspecialchars($title3)?></a>  » 
        <a href="index.php?page=<?=$link4?>"><?=htmlspecialchars($title4)?></a>
    <? } elseif(isset($title4)) { ?>
        <a href="index.php">Главная</a> » 
        <a href="index.php?page=<?=$link?>"><?=htmlspecialchars($title)?></a> » 
        <a href="index.php?page=<?=$link2?>"><?=htmlspecialchars($title2)?></a> » 
        <a href="index.php?page=<?=$link3?>"><?=htmlspecialchars($title3)?></a>
    <? } elseif(isset($title3)) { ?>
        <a href="index.php">Главная</a> »
        <a href="index.php?page=<?=$link?>"><?=htmlspecialchars($title)?></a> » 
        <a href="index.php?page=<?=$link2?>"><?=htmlspecialchars($title2)?></a>
    <? } elseif(isset($title2)) { ?>
        <a href="index.php">Главная</a> » 
        <a href="index.php?page=<?=$link?>"><?=htmlspecialchars($title)?></a>
    <? } else { ?>
        <a href="index.php">Главная</a>
    <? } ?>
</div>

Что не так в исходном коде

Здесь легко видеть дублирование реализации: зачем-то много раз повторяется вывод одних и тех же строк — это ни к чему.

Также не очень понятна логика, когда проверяется наличие переменной, но после проверки она сама не используется (внутри ветки if(isset($title5)) не упоминается переменная $title5). Подозреваю, что в этой неиспользуемой переменной содержится заголовок страницы. Это плохо, так как заголовок содержится каждый раз в разной переменной от $title до $title5.

Для вывода каждого элемента хлебных крошек используется совершенно идентичный код. При наличии однородностей правильнее пользоваться массивами, а не разрозненными переменными.

Как устранить дублирование кода

<div id="navLine">
    <a href="index.php">Главная</a><?php
    foreach ($breadcrumbs as $b_link => $b_title) {
        ?> » <a href="index.php?page=<?= $b_link ?>"><?= htmlspecialchars($b_title) ?></a><?php
    }
?></div>

Теория