无限循环 - 为什么?

Uni*_*dan 0 php loops infinite switch-statement

for($i=0; $i<5; $i++) {
    switch($i) {
        case 0:
            echo "<div class=\"darkgrey topdarkgrey\">";
            break;
        case 1:
        case 3:
            echo "<div class=\"lightgrey\">";
            break;
        case 2:
        case 4:
            echo "<div class=\"darkgrey\">";
            break;
        case 5:
            echo "<div class\"darkgrey bottomdarkgrey\">";
            break;
    }
    if($i=$idagInt) 
        echo "<div id=\"idag\">" . $dag[$i] . "<br>";
    else
        echo "<div class=\"dag\"><span class=\"veckoDag\">" . $dag[$i] . "</span><br>";

    echo "<span class=\"month\">" . $datumDay[$i] . " " . $month[$i] . "</span></div>";
    echo "<div class=\"mat\">" . strip_tags($mat[$i], "<p>") . "</div></div>";
}
Run Code Online (Sandbox Code Playgroud)

这是我用来将内容打印到网站上的代码,经过一些故障排除后,我的结论是switch语句出了问题,但是我看不清楚什么?

Joh*_*nde 7

这是你的问题.你分配$i的值$idagInt而不是比较它.结果$i永远不会达到5.

if($i=$idagInt) 
Run Code Online (Sandbox Code Playgroud)

将其更改为:

if($i==$idagInt) 
Run Code Online (Sandbox Code Playgroud)