0
if(count($crumbs) >= 1)
    print("<a href=\"$startpage?dir=$crumbs[0]\" >".$crumbs[0]."</a> >> ");
if(count($crumbs) >= 2)
    print("<a href=\"$startpage?dir=$crumbs[0]/$crumbs[1]\" >".$crumbs[1]."</a> >> ");
if(count($crumbs) >= 3)
    print("<a href=\"$startpage?dir=$crumbs[0]/$crumbs[1]/$crumbs[2]\" >".$crumbs[2]."</a> >> ");

我有这段代码,我想知道是否有某种方法可以将它变成一个 while 或 for 循环,这样我就不必继续制作越来越多的 if 语句了。

4

2 回答 2

3

您可以使用switch ...case而不是多个if. 但是你不能将它转换成forwhile循环,它会太乱。

于 2012-11-17T06:50:35.393 回答
1

通过小修复,这应该可以

$count = count($crumbs);
for ($i = 0; $i < count && $i < 3; $i++){

    $echoes = "<a href=\"$startpage?dir=";
    $arg = array();
    for ($j = 0; $j <= $i; $j++){
        $args[] = $crumbs[$j];
    }

    $echoes .= implode('/', $args)."\">".$crumbs[$i]."</a> >> ";

}

echo $echoes;
于 2012-11-17T07:04:02.013 回答