PHP将其转换为while或for循环?

时间:2012-11-17 06:47:12

标签: php for-loop while-loop switch-statement

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语句。

2 个答案:

答案 0 :(得分:3)

您可以使用switch ...case代替多个if。但你无法将其转换为forwhile循环,它会太乱。

答案 1 :(得分: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;