我的代码挂起了我的浏览器。为什么?

时间:2014-03-31 13:39:51

标签: php

我的PHP代码出了什么问题。结果变为无穷大并使我的浏览器挂起。任何人都可以告诉它是病毒还是不病毒?

代码:

<?php
$counter = 10;

while( $counter =3) {
    echo "$counter";
}
?>

4 个答案:

答案 0 :(得分:6)

$counter = 3 指定值3,因为3是真实的,它会传递while条件。你拥有的不是病毒,它只是一个非常好的无限循环。

答案 1 :(得分:2)

您在while循环中使用的是=而不是==。因此,$counter的值为3。因为它总是3,你的循环永远不会结束。

答案 2 :(得分:1)

PHP中的赋值返回您指定的值,这是一个问题,因为您的while条件包含赋值。 ($counter = 3)会返回3,这是真的,所以每次都会执行while循环,导致浏览器挂起。

修复方法是确保在while循环中使用比较,而不是赋值,并逐个减少$counter变量迭代,或酌情:

$counter = 10;

while( $counter == 3) {
    echo "$counter";
    $counter -= 1;
}

答案 3 :(得分:-1)

可能是它的骇人听闻: -

: - 这里你把整数10放在$ counter变量

        <?php    $counter = 10;    ?>

现在在while循环中你做了一个像这样的过程: - 你再次在变量$ counter中输入整数3。

所以在完成这个过程后(在$ counter变量中放入整数3),该过程返回 true

while循环将一直运行,直到进程返回 true ,并在进程返回false时结束

        <?php

       while( $counter =3) {// this is turn condition so loop will not stop
        echo "$counter";
       }

        ?>

好的只是在这种情况下while循环将像
一样运行 示例案例1:

     <?php
     while(TRUE){

      //code will run
      echo $counter;
      //it will only give you output 3333333....to the ends of end. like this

       }
       ?>

示例案例2:
如果进程返回false,则循环结束

                        <?php
                        while(FALSE){
                        //code will not run
                        }
                        ?>  

总而言之: - 循环或条件仅在进程结束时才会运行