虽然声明无限重复

ryn*_*yno -2 html php if-statement while-loop

我有一个网站,我需要使用while语句,但是当我使用它时,它无限地重复回声.虽然看起来我可以让它在没有的情况下工作,但事实并非如此,这是最终产品的简化版本,需要同时使用.

<?php 
$passlevel = '0';
while ($passlevel == '0')
{
    if(isset($_GET['box_1_color']))
    {
        $color=$_GET['box_1_color'];
        if($color == "#800080")
        {
            echo "you have passed step one.";
            $passlevel == '1';      
        }
        else 
        {
            echo "you didn't select purple.";
        }   
    }
    else echo "contact webmaster";
}
?>
Run Code Online (Sandbox Code Playgroud)

为什么它回应联系网站管理员或你没有选择紫色无数次?

Mik*_*sen 6

首先,您可能需要更改:

$passlevel == '1';
Run Code Online (Sandbox Code Playgroud)

$passlevel = '1';
Run Code Online (Sandbox Code Playgroud)

第一个是比较等于,而不是赋值等于.

第二,如果$color不是#800080,那么循环不会终止,因此循环不会重复,因为循环中的任何内容都不会导致值发生变化.

首先,我并不完全确定这个循环的重点.它应该在没有循环的情况下完美地工作,但是你已经说明你的代码是一个更复杂的东西的简化版本,确实需要一个循环.也许你可以详细说明.