简单的自制面包屑 PHP

Simple home-made breadcrumb PHP

所以我试图在 php 中制作面包屑脚本,但我遇到了一些奇怪的错误。

这是我的脚本:

function bread_crumb(){

…some code before...

foreach ($words as $key => $value) {
    if ($key < count($words) - 1) {
        print '<a href ="';
        print_link($words,$key);
        print '">'.$value.'</a> / ';
    }
}

这是我的 print_link() 脚本:

function print_link($w,$max){
$_string = "";
for ($i=0; $i < $max; $i++) { 
    if ($i != $max-1) {
        $_string += "/".$w[$i];
    } else {
        $_string += "/".$w[$i]."/";
    }

    print $_string;
}

return $_string;

}

它以某种方式起作用,但不是很好。我的结果在标签之间很好,但在该部分我得到了一些有趣的结果。

例如这个linkhttp://example.com/products/category/
得到的翻译是这样的:

<a href ="">Www</a> / <a href ="0">Mondano</a> / <a href ="00">Termékek</a> / <a href ="000">Kategóriák</a> / 

我真的不知道 link 是如何变成“0”的。有什么想法吗?

PHP101:+是数学加法。

    $_string += "/".$w[$i];
             ^----

你在做

$_string = $_string + '/foo';

最终基本上是

$_string = 0;

尝试

    $_string .= "/".$w[$i];
             ^----

相反。

为什么在 print_link 函数中使用 += ? 如果是字符串,请使用 .= 而不是 +=