我正在用PHP构建一个面包屑系统,尽管我的代码是正确的,但它并没有显示在页面上


I am constructing a breadcrumb system in PHP and though my code is correct it is not displaying on the page

我正在进行期末考试,虽然我的互联网商务课没有涉及到这一点,但我一直对在我的网站上使用它感兴趣。我在这里读了几篇关于构建函数的帖子,它没有抛出任何错误,但碎屑根本没有显示在页面上。我回去做了更多的研究,发现了一个$upToNowCrumbs数组,但它对在页面上显示碎屑毫无帮助。

以下是函数本身的代码(文件位于header.php中(:

<?php
function breadcrumbs($separator = ' &raquo; ', $home ='Overview')
{
    $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
    $base_url = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<a href='"$base_url'">$home</a>");
    $key_set = array_keys($path);
    $last = end($key_set);
    $upToNowCrumbs = array();
    foreach($path AS $x => $crumb)
    {
        $upToNowCrumbs[] = $crumb;
        $title = ucwords(str_replace(array('.php', '_'), Array('', ' '), $crumb));
        if ($x != $last)
        {
            $breadcrumbs[] = '<a href='"$base_url".implode('/', $upToNowCrumbs)."'">$title</a>';
        }
        else
        {
            $breadcrumbs[] = $title;
        }
    }
    return implode($separator, $breadcrumbs);
}
?>

以下是我如何在站点中调用函数(文件位于site_header.php中(:

<section class="bread">
<article class='admin-bread'>
    <?php breadcrumbs(' > '); ?>
</article>

我知道我们不应该编辑问题,但我不会修改任何内容。我忘记了使用$upToNowCrumbs会产生错误(对不起,我累了(

Warning: Division by zero in C:'xampp'htdocs'finals'inc'header.php on line 24
Warning: Division by zero in C:'xampp'htdocs'finals'inc'header.php on line 24

您必须回显breadcrumbs,现在您只是返回它。

 <?php echo breadcrumbs(' > '); ?>
    $breadcrumbs[] = '<a href='"$base_url".implode('/', $upToNowCrumbs)."'">$title</a>';

应该是

    $breadcrumbs[] = '<a href="'.$base_url.implode('/', $upToNowCrumbs).'">'.$title.'</a>';